WEBサーバー(Apache)
Apacheのインストール
①システムアップデート
1 2 3 |
# slackpkg update # slackpkg upgrade slackpkg # slackpkg new-config |
➁httpdインストール
1 |
# slackpkg upgrade httpd |
➂Apacheのバージョン確認
1 2 3 |
# httpd -v Server version: Apache/2.4.58 (Unix) Server built: Oct 19 2023 14:01:28 |
④Apacheの有効化と起動
1 2 |
# chmod +x /etc/rc.d/rc.httpd # /etc/rc.d/rc.httpd restart |
⑤Webサーバー利用のポート開放
1 2 3 4 |
# ufw allow http Rule added # ufw reload Firewall reloaded |
任意のブラウザでhttp://サーバーIP/に接続すると下記のようになればOK
Apache設定ファイルの編集
①設定ファイルは/etc/httpd/httpd.conf このファイルを編集する
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 26 27 28 |
# vi /etc/httpd/httpd.conf 215行目管理者メールアドレスに変更 ServerAdmin [管理者メールアドレス] 224行目コメント解除し自ドメイン名[FQDN]に変更 ServerName [ドメイン名:80] 262行目Indexes削除 Options FollowSymLinks 269行目変更 AllowOverride ALL 282行目ディレクトリー名だけでアクセスできるファイルの追加 <IfModule dir_module> DirectoryIndex index.html index.htm index.pl index.php </IfModule> 429行目コメント解除 AddHandler cgi-script .cgi 516行目コメント解除 # Various default settings Include /etc/httpd/extra/httpd-default.conf 最終行に追記 ServerTokens Prod |
➁Apache再起動
1 |
# /etc/rc.d/rc.httpd restart |
CGIスクリプトの利用確認
①CGIの利用可確認
1 2 |
# grep -n "^ *ScriptAlias" /etc/httpd/httpd.conf 365: ScriptAlias /cgi-bin/ "/srv/httpd/cgi-bin/" |
上記が表示され、「/srv/httpd/cgi-bin/」配下で利用可能
➁httpd.conf編集
1 2 3 4 5 |
# vi /etc/httpd/httpd.conf 168,171行目コメント解除 LoadModule cgid_module lib64/httpd/modules/mod_cgid.so LoadModule cgi_module lib64/httpd/modules/mod_cgi.so |
➂テストスクリプトを作成し、作動確認
1 2 3 4 |
# vi /srv/httpd/cgi-bin/index.cgi #!/usr/bin/python3 print("Content-type: text/html\n") print("CGI Script Test Page") |
1 2 3 4 |
# chmod 755 /srv/httpd/cgi-bin/index.cgi # /etc/rc.d/rc.httpd restart # curl localhost/cgi-bin/index.cgi CGI Script Test Page |
PHPインストール
①インストール
1 |
# slackpkg upgrade php |
OKクリック
➁httpd.confの編集
1 2 3 4 |
# vi /etc/httpd/httpd.conf 538行目コメント解除 Include /etc/httpd/mod_php.conf |
➂/etc/httpd/mod_php.conf編集
1 2 3 4 |
# vi /etc/httpd/mod_php.conf 追加する addtype application/x-httpd-php .php .php3 .php4 .php7 .php8 |
④/etc/php.iniファイルの編集
1 2 3 4 5 6 7 8 9 10 |
# vi /etc/php.ini 694行目変更 post_max_size = 300M 846行目変更 upload_max_filesize = 200M 1005行目コメント解除し追加 date.timezone = Asia/Tokyo |
⑤Apache再起動
1 |
# /etc/rc.d/rc.httpd restart |
⑥PHP起動確認のため下記ファイル作成
1 2 3 4 5 |
# vi /srv/httpd/htdocs/info.php <?php phpinfo(); ?> |
任意のブラウザでhttp://サーバーIP/info.php にアクセスすると下記理画面になればPHPは正常です
バーチャルホストの設定
バーチャルホストで運用するドメイン名 [slack.korodes.com] を、ドキュメントルート[/srv/httpd/htdocs/slack.korodes.com] ディレクトリに割り当てて設定します
slack-vhosts.confを新規作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# cd /etc/httpd/extra/ # vi slack-vhosts.conf <VirtualHost *:80> ServerAdmin [管理者メールアドレス] DocumentRoot "/srv/httpd/htdocs/slack.korodes.com" ServerName slack.korodes.com ErrorLog "/var/log/httpd/slack.korodes.com-error_log" CustomLog "/var/log/httpd/slack.korodes.com-access_log" common <Directory "/srv/httpd/htdocs/slack.korodes.com/"> Options FollowSymLinks AllowOverride All </Directory> </VirtualHost> |
httpd.confファイルの編集
1 2 3 4 |
# vi /etc/httpd/httpd.conf 508行目に追加 Include /etc/httpd/extra/slack-vhosts.conf |
ドキュメントルートディレクトリー作成
1 |
# mkdir /srv/httpd/htdocs/slack.korodes.com |
Apache再起動
1 |
# /etc/rc.d/rc.httpd restart |
MariaDBインストール
①インストール
1 |
# slackpkg upgrade mariadb |
➁MariaDB有効化と起動
1 2 3 4 5 6 7 8 9 10 11 |
# chmod +x /etc/rc.d/rc.mysqld 独自の内部データベースをセットアップするためにインストール・スクリプトを実行する # mysql_install_db MySQLユーザーに必要なMySQLファイルの所有権を与える # chown -R mysql.mysql /var/lib/mysql Mariadb有効化・起動 # /etc/rc.d/rc.mysqld enable # /etc/rc.d/rc.mysqld start |
➂MarisDBのバージョン確認
1 2 |
# mariadb -V mariadb Ver 15.1 Distrib 10.5.24-MariaDB, for Linux (x86_64) using readline 5.1 |
④rootユーザーのパスワードを設定
1 |
# mysqladmin -u root password '[任意のパスワード]' |
⑤MariaDBの起動確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# mysql -u root -p Enter password: ←上記で設定したパスワード Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 4 Server version: 10.5.24-MariaDB Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.000 sec) MariaDB [(none)]> exit; Bye |
⑥MariaDBのインストールのセキュリティー
MariaDBサーバーのrootユーザーのパスワードを変更しておきます。
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] y Enabled successfully! Reloading privilege tables.. ... Success! You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! |
以降MariaDBを起動するには
1 2 |
# mysql -u root -p Enter password: ←上記⑥で変更したパスワード |