Contents
1. Webサーバー Apacheの導入
1.1 apache2のインストール
1 |
# zypper -n install apache2 |
1.2 Apache2 : 基本設定
1 2 3 4 5 6 |
# vi /etc/sysconfig/apache2 # 146行目:管理者アドレスに変更 APACHE_SERVERADMIN=<管理者E-mail> # 163行目:自ドメイン名に変更 APACHE_SERVERNAME="<自ドメイン名>" |
1 2 3 4 |
# vi /etc/apache2/httpd.conf # 197行目:ディレクトリ名のみでアクセスできるファイル名を設定 DirectoryIndex index.html index.html.var index.php index.cgi |
1 2 3 4 5 |
# systemctl start apache2 # systemctl enable apache2 Created symlink '/etc/systemd/system/httpd.service' → '/usr/lib/systemd/system/apache2.service'. Created symlink '/etc/systemd/system/apache.service' → '/usr/lib/systemd/system/apache2.service'. Created symlink '/etc/systemd/system/multi-user.target.wants/apache2.service' → '/usr/lib/systemd/system/apache2.service'. |
1.3 Firewalld を有効
HTTP サービスの許可が必要です。なお、HTTP は 80/TCP を使用します。HTTPSは443
1 2 3 4 5 6 |
# firewall-cmd --add-service=http --permanent Success # firewall-cmd --add-service=https --permanent Success # firewall-cmd --reload success |
1.4 Apache2 : 起動確認
HTMLテストページを作成して動作確認をします。クライアントPC で Web ブラウザを起動し、以下のように作成したテストページにアクセスできれば OK です
1 2 3 4 5 6 7 8 9 |
# vi /srv/www/htdocs/index.html <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Apache Test Page </div> </body> </html> |
ブラウザで http://[IPアドレス] にアクセスし、下図のように表示される確認

2. Apache2 : Perlスクリプトを利用する
Perl スクリプトを CGI として利用できるよう設定します
2.1 Perl をインストール
①インストール
1 |
# zypper -n install perl |
②CGI モジュールを有効にします
1 |
# a2enmod cgid |
CGI の実行はデフォルトで [/srv/www/cgi-bin/] 配下で許可されています。
よって、例えば [/srv/www/cgi-bin/index.cgi] スクリプトを作成して配置することで、[http://(httpd サーバー)/cgi-bin/index.cgi] へアクセス可能となります。 なお、当該設定は [/srv/www/cgi-bin/] 配下のファイルを全て CGI と扱うため、CGI 以外のファイルは表示不可です。
# 以下の設定により /srv/www/cgi-bin/ 配下では CGI の実行が許可されている
1 2 |
# grep -n "^ *ScriptAlias" /etc/apache2/default-server.conf 72:ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/" |
1 |
# systemctl restart apache2 |
③テストスクリプト作成し、動作確認
1 |
# mkdir -p /srv/www/cgi-bin |
1 2 3 4 5 |
# cat > /srv/www/cgi-bin/test_script <<'EOF' #!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello CGI\n"; EOF |
スクリプトファイルに権限を与える
1 |
# chmod 705 /srv/www/cgi-bin/test_script |
動作確認
1 2 |
# curl http://localhost/cgi-bin/test_script Hello CGI |
「Hello CGI」と表示されれば正常です
3. Apache2 : バーチャルホストの設定
バーチャルホストで運用するドメイン名 [FQDN] を、ドキュメントルート[/srv/www/htdocs/[FQDN]] ディレクトリに割り当てて設定します
バーチャルホスト設定ファイ新規に作成
1 2 3 4 5 6 7 8 9 10 |
# vi /etc/apache2/vhosts.d/vhost.conf <VirtualHost *:80> ServerName [FQDN] ServerAdmin <管理者メールアドレス> DocumentRoot /srv/www/htdocs/[FQDN] ErrorLog /var/log/apache2/[FQDN].error.log CustomLog /var/log/apache2/[FQDN].access.log combined LogLevel warn </VirtualHost> |
/srv/www/htdocs/[FQDN]という名前のディレクトリー作成
1 |
# mkdir /srv/www/htdocs/[FQDN] |
/srv/www/htdocs/[FQDN]ディレクトリー内にidex.htmlファイルを作成する
1 2 3 4 5 6 7 8 9 |
# vi /srv/www/htdocs/[FQDN]/index.html <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Virtual Host Test Page </div> </body> </html> |
hostsファイルの編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# vi /etc/hosts # # hosts This file describes a number of hostname-to-address # mappings for the TCP/IP subsystem. It is mostly # used at boot time, when no name servers are running. # On small systems, this file can be used instead of a # "named" name server. # Syntax: # # IP-Address Full-Qualified-Hostname Short-Hostname # 127.0.0.1 localhost localhost.localdomain ::1 localhost localhost.localdomain ipv6-localhost ipv6-loopback # special IPv6 addresses fe00::0 ipv6-localnet ff00::0 ipv6-mcastprefix ff02::1 ipv6-allnodes ff02::2 ipv6-allrouters ff02::3 ipv6-allhosts 192.168.11.83 [FQDN] ←追加する |
1 |
# systemctl restart apache2 |
webブラウザで"http://[FQDN]/"にアクセスすると下図の通り表示されればOK

4. Apache2 : PHPスクリプトを利用する
PHP をインストールして PHP スクリプトが利用できるように設定します
4.1 PHP をインストール
インストールできるphpバージョンを調べる
1 |
# zypper se -s php |
1 2 |
# zypper -n install php8 php8-pear php8-mbstring apache2-mod_php8 # a2enmod php8 |
1 2 3 4 5 6 7 8 9 10 |
# vi /etc/php8/apache2/php.ini # 699行目 : 変更 post_max_size = 300M # 851行目 : 変更 upload_max_filesize = 200M # 966行目:タイムゾーンを日本に変更 date.timezone = 'Asia/Tokyo' |
1 |
# systemctl restart apache2 |
4.2 PHPテストページを作成して動作確認
テストページを作成
1 2 3 |
# vi /srv/www/htdocs/[FQDN]/test.php <?php phpinfo(); ?> |
1 |
# systemctl restart httpd.service |
クライアントPC で Web ブラウザを起動し、「http://[FQDN]/test.php」にアクセスし以下のように作成したテストページが表示されれば OK です。(PHPバージョンは違うことがあります)
