VirtualboxにUbuntuを入れて仮サーバーを構築しています。
OSはUbuntu 22.04。以前からCentOSを使用していたのですが、開発が止まるそうなのでRHELから別に派生したRockyLinuxかMiracleLinuxも一応考え中。
Webサーバーも使えるようにapache2、mariadb、ftp、phpをインストール。
【apache2】
apt -y install apache2
vi /etc/apache2/conf-enabled/security.conf
変更
ServerTokens Prod
再起動
systemctl restart apache2
※その他設定は今後行う
【mariadb】
apt -y install mariadb-server
vi /etc/mysql/mariadb.conf.d/50-server.cnf
確認
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
再起動
systemctl restart mariadb
【vsftpd】
apt -y install vsftpd
vi /etc/vsftpd.conf
#コメント解除
write_enable=YES
コメント解除
chroot_local_user=YES
chroot_list_enable=YES
追記
allow_writeable_chroot=YES
コメント解除
chroot_list_file=/etc/vsftpd.chroot_list
コメント解除
ls_recurse_enable=YES
最終行へ追記
local_root=public_html
vi /etc/vsftpd.chroot_list
許可するユーザーを記載
〇〇〇〇 ← Linuxユーザー名
再起動
systemctl restart vsftpd
【PHP】
apt -y install php8.1 php8.1-mbstring php-pear
ネットにあるような基本的設定を行いある程度終了。
まずは確認から。
apache2が動作しているかを確認し、ブラウザにてゲストOSのIPアドレスを入力してみるとapache2のデフォルトページが表示。つまり動作していることが確認取れました。
次にmariadbの動作確認。これはコマンドを入力してみることに。
root@virtualBox:~# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 80
Server version: 10.6.11-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04
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)]>
返答があるため確認終了。
次にftpの確認。ホストOS側にFTPクライアントソフトを利用してゲストOSのIPアドレスとユーザー情報を入力。
ログインが確認できたらapache2のドキュメントルート /var/www/htmlディレクトリまで移動し、index.htmlを編集。
所がここでエラーが発生。パーミッションにより書き込みが禁止されていました。FTPで変更しようともこれも拒否。
この場合は、ゲストOSからコマンドでディレクトリのパーミッションを変更するよ良いそうです。
cd /var/www
chmod -R 777 html
変更後はindex.htmlの編集、新規ファイル作成も確認できました。
次にphpの確認。バージョン確認のコマンドを入力してバージョンが表示すればインストール確認はOK。
php -v
apache2のドキュメントルートにphpファイルを作成し、ブラウザで表示するか確認すると、ここで無反応で真っ白な状態でした。
phpはインストールするだけではダメなようで、使用するための関連モジュールもインストールして設定を行う必要があるんだそう。
apt -y install libapache2-mod-php
systemctl reload apache2
FTPでphpファイルを作成し、その中にphpinfo()関数を入れてブラウザ確認すると、PHPの情報が表示しました。これでWebサーバーはひとまず終了。