LoginSignup
14

More than 5 years have passed since last update.

【Cent OS7】Ceont OS7でサーバを立ち上げて動作させるまでの流れ

Posted at

はじめに

この記事は,Linuxを一切触ったことがない自称プログラマが,死に物狂いでCentOSサーバを立ち上げるまでの流れを書いたものです.

Cent OS7のインストール

詳しい流れは割愛します.
画像付きでインストール手順が記載されているのは,CentOS 7インストールでしょうか.
私は,「ソフトウェアの選択」を「サーバー (GUI 使用)」にしています.

セキュリティの設定

最初,ブルートフォースアタックを受けてました.
なので,きっちりとセキュリティはしないといけないことがわかりました.
なお,以下全ては「スーパユーザ」の権限で行っていると想定しています.

左上メニューの「アプリケーション」の「お気に入り」の中にある「端末」を起動してください.
そしてスーパユーザに入ります.
スーパユーザとは,管理者権限の更に上を行く,そのPCの神のようなものでしょうか(雑).

「端末」で次のコマンドを実行してください.
# su -
ここでパスワードを聞かれます.
パスワードはインストール時に設定したものを使います.

Firewallの起動とその設定

まずは,Firewallを起動しましょう.
次のコマンドを実行してください.
これによってFirewallが立ち上がります.
# systemctl start firewalld

次に,再度メニューの
[アプリケーション] > [諸ツール] > [ファイアウォール]
を選択してください.
q1.png
そして,public項目の「http」と「https」だけにチェックを入れます.
デフォルトで入ってるものは,一旦消しても大丈夫です.

設定が終わったら「端末」で,
# systemctl restart firewalld
を実行します.

対策その1:狙われにくいポート番号に変更する

「端末」で以下のコマンドを実行します.
# vi /etc/ssh/sshd_config

するとviエディタで,sshd_configの中身が表示されます.
その中の,
#Port 22
となっている行(おそらく17行目)を,
Port 47382
のように書き換えます.
q2.png

なお,viの使い方ですが,
aキーで,編集モードになり,文字の挿入,削除が可能になります.
escキーで,編集モードを終了します.
:wで変更を保存します.escキーで編集モードを終了していなければなりません.
:qでviを終了します.escキーで編集モードを終了していなければなりません.
:q!で変更を無視してviを終了します.escキーで編集モードを終了していなければなりません.

今回の場合ですと,
1. 矢印キー(↑↓)で17行目付近の「#Port 22」までカーソルを持って行き,
2. aキーを押し,編集モードに以降し,
3. 矢印キー(←→)を駆使し,「#」をDelete(又はBackSpace)キーで削除し,
4. 「22」の値を変更し,
5. escキーを押して編集モードを終了し,
6. :wとタイプし,Enterキーを押す
という流れになります.

対策その2:外部からのrootログインを拒否する

外部から,最高管理者権限(スーパユーザ)へ入れなくします.
対策その1と同様のファイルを編集します.

viが起動している人は以下のコマンドは実行しなくても大丈夫です.
この節から始める方は,viを起動してください.
# vi /etc/ssh/sshd_config
viの使い方は「対策その1」に簡単に載せています.

大体49行目の
#PermitRootLogin yes

PermitRootLogin no
に変更します.
q3.png

対策その3:パスワードログインを拒否する

例えば
ssh USER ID@SERVER ADDRESS
で接続が来た時,ユーザ名とパスワードが正しければだれでもログインできてしまいます,
なので,パスワードでのログインを拒否し,鍵認証(公開鍵・秘密鍵認証)のみでのアクセスにしましょう.

viが起動している人は以下のコマンドは実行しなくても大丈夫です.
この節から始める方は,viを起動してください.
# vi /etc/ssh/sshd_config
viの使い方は「対策その1」に簡単に載せています.

大体79行目辺りの
#PasswordAuthentication yes

PasswordAuthentication no
に書き換えてください.
q4.png

何気に困った!Cent OS7のネット接続

右上,時計の左横のコンピュータのマークをクリックすると,ネット接続のON/OFFを切り替えられます.
デフォルトでONになっていると思ったら大間違い!(これで2時間位悩んだ人)
q5.png

Apache(httpd)のインストール

さて,ネットワークに繋がったらhttpd(Apache)をインストールしましょう.
スーパユーザにログインしている「端末」ソフトから,以下のコマンドを実行してください.
# yum -y install httpd
これで最新のhttpdがインストールされます.

PHPもインストールしておく?

デフォルトではPHPは入っていないようなので,ついでにインストールしておきましょう.
# yum -y install php php-mbstring

サーバ(httpd)の起動

スーパユーザにログインしている「端末」ソフトから,以下のコマンドを実行します.
# systemctl start httpd
これでサーバが立ち上がります,
おなじみの
http://localhost/
にアクセスすると,It works!……ではなく,テストページが表示されると思います.

これでもう,IPアドレスからページにアクセスできると思います.
ルータの設定は……申し訳ない.最初からしてあったのでここでは触れません.わかりません.

Webページを配置するフォルダは何処?

/var/www/html/の中になります.
GUIで見る場合は,左上メニューの
[場所] > [コンピュータ] > [var] > [www] > [html]
の中になります.
なお,デフォルトでは所有者が「root:root」となっており,ファイルなどをコピーできません.(確認は# ls -allなどでできます)

Webページを配置するフォルダ(htmlフォルダ)の権限をよこせ!

chownコマンドで権限を奪い取りましょう.
スーパユーザにログインした「端末」ソフトから,以下のコマンドを実行してください.
# chown あなたのユーザID:apache /var/www/html/
すると,htmlフォルダの権限があなたに移ります.
この時点で,ファイルをhtmlフォルダに配置し, http://localhost/ から見ることができます.

Webページを配置するフォルダはやはりユーザフォルダの中がいい!

要は, http://localhost/~ユーザID でアクセスできるあれですね.
htmlフォルダの中に入れるのが嫌!っという人向けです.
スーパユーザにログインした「端末」ソフトで,以下のコマンドを実行してください.
vi /etc/httpd/conf.d/userdir.conf


viエディタでuserdir.confの中身が表示されます.
そのおよそ17行目付近の
UserDir disableをコメントアウト(先頭に#をつける)しましょう.

#UserDir disable


次におおよそ25行目付近の
#UserDir public_htmlの先頭の「#」を外します.

UserDir public_html


自分のhomeディレクトリに「public_html」フォルダを作ってください.
端末を使います.
# mkdir /home/あなたのユーザID/public_html/


最後に,アクセス権を与え,httpdを再起動します.
端末を使います.
# chmod 701 /home/あなたのユーザID/public_html

これでアクセスできますでしょうか?
403エラー(Forbidden)が表示される場合は,少し設定が必要です.
次の章で説明します.

403エラーが出る場合,または,phpなどでファイルが作れない場合

スーパユーザにログインした端末ソフトで,以下のコマンドを実行してください.
vi /etc/selinux/config

そしておおよそ7行目
SELINUX=enforcing
SELINUX=disabledまたはSELINUX=permissiveと書き換えてください.
間違っても12行目辺りの物を書き換えないように!
CentOSが起動しなくなります!!(私が3回ほど書き換えて,全てクリーンインストールを行いました……間違いに早く気づきたかった……)

# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
を実行すると,自動で書き換えてくれるそうです.

最後に# rebootしてください.

おわりに

とりあえず,最低限の機能は使えるようになりました.
何か別に,もっと簡単で,わかりやすく,そして最強のセキュリティなどがある場合はぜひご教授ください.

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14