1 views

実現する機能

Webサーバー(Apache)はInternet Explorer等のブラウザから自宅サーバーのWebページをみれるようにするためのサーバーです。

Webサーバーの導入手順

(1)Apacheとphpのインストール(phpで作成されたWordPressを自サイトで使用しているため)

[root@ufuso ~]# yum -y install httpd ← Apacheのインストール          
インストール:
  httpd.x86_64 0:2.4.6-17.el7.centos.1                                          

依存性関連をインストールしました:
  httpd-tools.x86_64 0:2.4.6-17.el7.centos.1    mailcap.noarch 0:2.1.41-2.el7   

完了しました!

[root@ufuso ~]# yum -y install php php-mbstring php-pear ← phpのインストール          
インストール:
  php.x86_64 0:5.4.16-21.el7           php-mbstring.x86_64 0:5.4.16-21.el7      
  php-pear.noarch 1:1.9.4-21.el7      

依存性関連をインストールしました:
  libzip.x86_64 0:0.10.1-8.el7           php-cli.x86_64 0:5.4.16-21.el7         
  php-common.x86_64 0:5.4.16-21.el7      php-process.x86_64 0:5.4.16-21.el7     
  php-xml.x86_64 0:5.4.16-21.el7        

完了しました!

(2)Webサーバー設定

[root@ufuso ~]# vi /etc/httpd/conf/httpd.conf ← httpd設定ファイル編集

ServerAdmin webmaster@ufuso.dip.jp ← エラーページ等に表示される管理者メール
アドレスを指定(ufuso.dip.jpは例示)

ServerName ufuso.dip.jp:80 ← #を削除してサーバー名を指定(ufuso.dip.jpは例示)

<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
    Options Includes ExecCGI FollowSymLinks ← Indexesを削除してファイルの一覧
表示を防ぎ、Includes ExecCGIを追記してCGI,SSIを許可

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride  All ← Noneを Allに変えて、.htaccessの許可

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%h %l %u %t "%!414r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
 ← 長すぎるURI(414エラー)はログに記録しない

    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #

SetEnvIf Request_URI "default.ida" no_log ← wormからのアクセスをログに記録せず
SetEnvIf Request_URI "cmd.exe" no_log ← wormからのアクセスをログに記録せず
SetEnvIf Request_URI "root.exe" no_log ← wormからのアクセスをログに記録せず
SetEnvIf Request_URI "Admin.dll" no_log ← wormからのアクセスをログに記録せず
SetEnvIf Request_URI "NULL.IDA" no_log ← wormからのアクセスをログに記録せず
SetEnvIf Remote_Addr 192.168.1 no_log ← 内部からのアクセスをログに記録せず
SetEnvIf Remote_Addr 127.0.0.1 no_log ← 自ホストからのアクセスをログに記録せず
CustomLog logs/access_log combined env=!no_log ← 上記以外のアクセスをログに記録
する

AddHandler cgi-script .cgi .pl ← 行頭の#を削除して有効にし、CGIスクリプトに.pl
を追加

#AddDefaultCharset UTF-8 ← 行頭に#を付けて、無効にする

ServerTokens Prod ← 最終行に追記。OSをProdに変えてエラーページ等でOS名を表示
しないようにする

KeepAlive On ← 最終行に追記。OffをOnに変えて接続が切れていないか定期的にチェッ
クする

(3)Perlコマンドへ/usr/local/bin/perlでもアクセスできるようにする

[root@ufuso ~]# ln -s /usr/bin/perl /usr/local/bin/perl
 ← /usr/local/bin/perlから/usr/bin/perlへリンクをはる

[root@ufuso ~]# whereis perl ← Perlのパスを確認
perl: /usr/bin/perl /usr/local/bin/perl /usr/share/man/man1/perl.1.gz
 ← Perlのパスに/usr/local/bin/perlが表示されることを確認

[root@ufuso ~]# chown -R tu:apache /var/www/html ← rootから所有者を自分に:グ
ループをapacheに変更(tuは例示)

(4)Webサーバー起動

[root@ufuso ~]# systemctl start httpd ← httpd起動

[root@centos ~]# systemctl enable httpd ← httpd自動起動設定
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'

(6)ポート80番のOPEN
ルーター側の設定でポート80番をOPENする。
※ルーターの設定は各ルーターのマニュアルまたはメーカー別ルーターポート開放手順を参照
ポートチェック【外部からポート開放確認】で「host名」にサーバー名(例:ufuso.dip.jp)、「port番号」に80と入力して「ポートチェック」ボタン押下し、「ホスト=ufuso.dip.jp ポート=80 にアクセスできました。」と表示されることを確認。

(7)外部からのWebサーバーアクセス確認
外部からWebサーバーにアクセスできるか確認する。

[root@ufuso ~]#  echo test >> /var/www/html/index.html ← テストページ作成

(8)firefox等のブラウザの赤枠1にサイトのURLを入力して、赤枠2の「test」が表示されればOK。

[root@ufuso ~]# rm -f /var/www/html/index.html ← テストページの削除

6 Replies to “CentOS 7.0 でWebサーバー構築・公開(Apache)”

  1. WordPressをインストールしたくて、貴方のURLを見つけました。Linux初心者です。ここに記載の通り進めていますが、「chown -R tu:apache /var/www/html ← rootから所有者を自分に:グループをapacheに変更」のところで、

    chown: ユーザー指定が不正 : ‘tu:apache’
    と表示されました。

    何か私の入力で間違えた可能性があるようなら、教えてください。よろしくお願いいたします。

    1. 「tu」は「自分」がCentOS7にログインする時に使用しているユーザーIDの例示です。つまり、あなたがログインするときに使用しているユーザーIDに置き換えて設定してくださいという意味です。備忘録なので端折った記述になっていますが、お役にたてれば幸いです。

  2. ご教示お願いします
    Apacheをインストールして、localhostでwebサーバーにアクセスすれば”Testing 123…”が表示されるので正常に稼働してると思います。
    この状態で独自ドメインを使用したHPを公開しようと思えばどうすればよろしいですか?

    1. root34様、コメントありがとうございます。Apacheは正常に稼働されてるようですので、次に必要なのはドメインの取得です。

      詳しくは無料のダイナミックDNSに登録する方法(ieServer.Net編)無料のダイナミックDNSに登録する方法(Dynamic DO!.jp編)を参照してください。

      HPの公開が成功しているかは、スマホのwifi接続を切って、電話回線で、safari等のブラウザで取得したドメインにアクセスして確認するのが簡便な方法です。スマホで「Testing 123」が表示されれば成功です。
      頑張ってください。

  3. 教えて頂きありがとうございます
    まだ、サーバーの構築は完全ではありません
    もう少し教えていただければ幸いです

    サーバー環境は
    CentOS7 php mariadb
    ネット環境はj:comの回線です
    ダイナミックDNSを利用して、ムームードメインで独自ドメインを取得しましたが、そのドメインでサイトを表示できません
    http://localhost/index.htmlならサイトは表示できます。
    どうすればよろしいでしょうか
    教えて下さい

    1. root34様
      一ヶ月も返信せず申し訳ありませんでした。
      解決済みかもしれませんが、以下に回答させていただきます。
      参考になれば幸いです。
      1.ネット環境はj:comのダイナミックDNS
      2.ドメインはムームードメインで取得
      以降の作業は次のとおりです。
      3.1で与えられたIPアドレスと取得したドメイン名をリンクさせる作業が、ムームードメインのサイトで必要になります。
      ムームードメインでの登録方法については、ムームードメインに問い合わせていただくしかありませんが、内容は、j:com回線から提供されているIPアドレスをムームードメインのネームサーバーに登録する設定作業です。
      4.「ダイナミックDNSを利用」ということですので、IPは固定ではない、したがって、j:comの都合でIPが変更されるたびに上記3の作業をしなければならないという問題が残ります。この問題を含め、上記3の方法について記されたサイトがありましたのでご紹介して終わりたいと思います。(ここです)

      以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください