centos7 自作サーバ

WEBサーバーの構築

更新日:

CentOS 7には標準でApacheと呼ばれるWebサーバーソフトがインストールされています

Webサーバーとはサーバー内にあるWebページをインターネットを通じて提供する働きをします

今回は現在一番普及しているApache(アパッチ)と呼ばれるWebサーバーを構築します

sponsored link

Webサーバーのインストール

以下のコマンドでApacheをインストールします

# yum install -y httpd

インストールが完了したらバージョンの確認をしてみます

# httpd -v

現段階で最新のApacheのバージョン2.4.6がインストールされました

余談ですが、mod_perlというパッケージも同時にインストールしようと思ったんですが、Apache 2.4のバージョンに互換性がないためインストールできませんでした

しかし、特に問題ないので今回はこのままでいきます

Webサーバーの設定

Webサーバーの設定は以下のファイルを編集して変更します

# vi /etc/httpd/conf/httpd.conf

管理者のメールアドレスをServeradminに、サーバー名をServerNameに設定します

86行目 ServerAdmin root@localhost → ServerAdmin root@souma.com

95行目 ServerName www.example.com:80 → ServerName www.souma.com:80

144行目 Options Indexes FollowSymLinks → Options FollowSymLinks

151行目 AllowOverride None → そのまま

151行目はディレクトリごとに設定ができるファイル「.htaccess」というファイルを利用するかどうかの項目ですが、今回は難しい設定を行う必要がないので使わない設定のままにします

Webサーバーの起動

下記のコマンドで起動とOS起動時に自動で立ち上がる設定をします

# systemctl start httpd.service
# systemctl enable httpd.service

ファイアーウォールの設定

ファイアーウォールを切っていない人は設定をする必要があります

# firewall-cmd --permanent --add-sevice=http --zone=public
# firewall-cmd --permanent --add-service=https --zone=public
# firewall-cmd --reload

これでほかのホストのWebブラウザからアクセスできるようになったのでクライアントPCのブラウザでサーバーのIPアドレスを入力し確認してみましょう

このようにページが表示されたら正常に起動しています

この状態であればサーバーの /var/www/html というパスのディレクトリ内にあるファイルを満つことができます

この中にindex.htmlというファイルを作ります

# vi /var/www/html/index.html

保存した後、同じようにアクセスするとindex.htmlの中身が表示されます

ユーザー別のWebページ公開

サーバーにあるユーザー各々がWebページを公開できるように以下のファイルを設定します

# vi /etc/httpd/conf.d/userdir.conf

17行目 UserDir disabled → #UserDir disabled

24行目 #UserDir public_html → UserDir public_html

32行目 AllowOverride FileInfo AuthConfig Limit Indexes → AllowOverride None

33行目 Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec → Options SymLinksIfOwnerMatch

変更が終わったらApacheを再起動します

# systemctl restart httpd.service

ディレクトリ設定とWebページ作成

ユーザーのホームにディレクトリを作成します

# mkdir /home/souma7/public_html

ユーザーsouma7のホームディレクトリにpublic_htmlfが作成されました

そこにWebページを作成します

# cd public_html
# vi index.html

作成ができたら保存して終了します

ただこのままではクライアントからアクセスできないのでchmodコマンドからpublic_htmlディレクトリに読み込み権限と実行権限を付与し、ホームディレクトリには実行権限を付与します

# chmod o+rx public_html
# chmod o+x ./

さらにSELinuxの制限のせいでWえbサーバーはユーザーのpublic_htmlディレクトリにアクセスできないので設定を変更します

# restorecon -R public_html

これでもアクセスできない場合は以下のコマンドも実行します

# setsebool -P httpd_enable_homedirs true

これでアクセスできるか確認しましょう

ちなみにindex.htmlには<ホスト名>/~<ユーザー名>でアクセスできます

<ホスト名>のところにはサーバーのIPアドレスでもアクセスできました

文字化けを直す

# vi /etc/httpd/conf/httpd.conf

316行目 AddDefaultCharaset UTF-8 → #AddDefaultCharaset UTF-8

私の環境ではコメントアウトされていなくても文字化けしなかったので特に気にしませんでしたが一応コメントアウトしました

ユーザー認証機能の設定

今回はしませんが今後要望があれば追記したいと思います

SSLによる暗号化と電子署名の発行

今回はしませんが今後要望があれば追記したいと思います








-centos7, 自作サーバ

Copyright© Dreaming Realistの戯言。 , 2018 All Rights Reserved.