Contents
1. 時刻同期サービスを提供する NTP サーバーをインストール
1 |
# apt -y install chrony |
1 2 3 4 5 6 7 8 9 10 |
# vi /etc/chrony/chrony.conf # 17~20行目:デフォルト設定はコメントにして自身のタイムゾーンの NTP サーバーを追記 #pool ntp.ubuntu.com iburst maxsources 4 #pool 0.ubuntu.pool.ntp.org iburst maxsources 1 #pool 1.ubuntu.pool.ntp.org iburst maxsources 1 #pool 2.ubuntu.pool.ntp.org iburst maxsources 2 pool ntp.nict.jp iburst # 最終行に追記 (時刻同期を許可する範囲) allow 192.168.11.0/24 |
1 |
# systemctl restart chrony |
1 2 3 4 5 6 7 8 |
# chronyc sources 10 Number of sources = 4 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================== ^- ntp-b2.nict.go.jp 1 6 37 27 +150us[ +150us] +/- 5360us ^- ntp-a2.nict.go.jp 1 6 37 26 +215us[ +215us] +/- 5529us ^* ntp-b3.nict.go.jp 1 6 37 28 +13us[ -13us] +/- 5814us ^- ntp-a3.nict.go.jp 1 6 37 28 -466us[ -466us] +/- 6069us |
2. FTPサーバー vsftpdをインストール
①インストール
1 |
# apt install vsftpd |
②UFWにてPORT21を開ける
1 2 |
# ufw allow ftp # ufw reload |
③設定ファイルの変更
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 |
# vi /etc/vsftpd.conf 14行目 Listen=YES 22行目 Listen_ipv6=NO 25行目# 匿名ユーザのログインを許可しない anonymous_enable=NO 28行目# ローカル ユーザ アカウントによる ログインを許可する local_enable=YES 31行目# ファイルに変更を加える FTP コマンドの使用を許可する write_enable=YES 35行目# 新規ファイルに適用するパーミッション値を設定する # 各桁はowner, group, otherを示しており、ビットはrwxを示す local_umask=022 122行目# ユーザのログイン ディレクトリを、そのユーザのルート ディレクトリに変更する chroot_local_user=YES 123行目# ユーザはログイン ディレクトリの外側にアクセスできなくなる chroot_list_enable=YES 125行目# vsftpd.chroot_listにリストアップされたユーザは上記規制の対象外にする chroot_list_file=/etc/vsftpd.chroot_list 99行目# ASCIIによるアップロードを許可する ascii_upload_enable=YES 100行目# ASCIIによるダウンロードを許可する ascii_download_enable=YES # 131行目:コメント解除( ディレクトリごと一括での転送有効 ) ls_recurse_enable=YES |
④vsftpd.chroot_listの作成
1 2 3 |
# vi /etc/vsftpd.chroot_list 新規ファイルにユーザー名だけ記入して保存終了 <ユーザー名> |
⑤vsftpdの再起動
1 |
# systemctl restart vsftpd |
⑥FTPクライアントで確認
今回はFFFTPを利用する。FFFTPを開き、メニューバーから接続を選択します。
ホスト一覧というウィンドウが開きます。新規ホストを選択してください。
暗号化の状態の保存というウィンドウが開きます。はいを選択してください
左側にWindowsのディレクトリ、右側に Ubuntuのディレクトリが表示されれば、接続成功です。
もし、つながらない場合はPassiveモードを入り切りする
3. Apache2インストール
最初にUFWでhttp:80番ポートおよびhttps:443ポートをallowしておく
1 2 3 |
# ufw allow http # ufw allow 443 # ufw reload |
3.1 Apache2 をインストール
1 |
# apt -y install apache2 |
3.2 Apache2 基本設定
1 2 3 4 |
# vi /etc/apache2/conf-enabled/security.conf # 25行目:変更 ServerTokens Prod |
1 2 3 4 |
# vi /etc/apache2/mods-enabled/dir.conf # 2行目:ディレクトリ名のみでアクセスできるファイル名を確認 DirectoryIndex index.html index.htm index.php |
1 2 3 4 5 6 |
# vi /etc/apache2/apache2.conf # 70行目:サーバー名追記 ServerName <自ドメイン名> # 172行目:変更 AllowOverride ALL |
1 2 3 4 |
# vi /etc/apache2/sites-available/000-default.conf # 11行目:管理者アドレス変更 ServerAdmin <your mailaddress> |
Apache再起動
1 |
# systemctl restart apache2 |
3.3 Apache2 : Perlスクリプトを利用する
CGI を有効にして Perl スクリプトが利用できるように設定します
①Perl をインストール
1 |
# apt -y install perl |
②CGI モジュールを有効にし再起動
1 2 |
# a2enmod cgid # systemctl restart apache2 |
③CGI モジュールを有効確認
テストスクリプト作成
1 2 3 4 5 |
# cat > /usr/lib/cgi-bin/test_script <<'EOF' #!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello CGI\n"; EOF |
スクリプトファイルに権限を与える
1 |
# chmod 705 /usr/lib/cgi-bin/test_script |
動作確認
1 |
# curl http://localhost/cgi-bin/test_script |
“curl: コマンドが見つかりません”と表示されたら
1 |
# apt install curl |
再度
1 2 |
# curl http://localhost/cgi-bin/test_script Hello CGI |
3.4 Apache2 : PHPスクリプトを利用する
①PHP をインストール
1 |
# apt -y install php php-cgi libapache2-mod-php php-common php-pear php-mbstring |
②Apache2 の設定
1 2 3 4 |
# a2enconf php7.4-cgi Enabling conf php7.4-cgi. To activate the new configuration, you need to run: systemctl reload apache2 |
1 |
# systemctl restart apache2 |
1 2 3 4 5 6 7 |
# vi /etc/php/7.4/apache2/php.ini # 846行目変更 #upload_max_filesize = 2M upload_max_filesize = 200M 962行目:コメント解除しタイムゾーン設定 date.timezone = "Asia/Tokyo" |
③PHPテストページを作成して動作確認
1 2 3 4 5 6 7 8 9 10 11 |
# vi /var/www/html/index.php <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> <?php print "PHP Test Page"; ?> </div> </body> </html> |
ブラウザでhttp://<サーバーIPアドレス>/index.php にアクセスすると次のような画面が出れば成功
3.5 Apache2 : バーチャルホストの設定
①デフォルトの設定ファイルをコピーし(ファイル名は任意、今回は例としてvhost-yourdomain.conf)、バーチャルホストの設定をします
1 2 |
# cd /etc/apache2/sites-available/ # cp 000-default.conf vhost-yourdomain.conf |
②作成した設定ファイルを編集
1 2 3 4 5 6 7 8 9 10 11 12 |
# vi vhost-yourdomain.conf <VirtualHost *:80> ~省略~ ServerName <FQDN> ServerAdmin <管理者メールアドレス> DocumentRoot /var/www/html/<FQDN>/ ~省略~ ErrorLog ${APACHE_LOG_DIR}/<FQDN>.error.log CustomLog ${APACHE_LOG_DIR}/<FQDN>.access.log combined ~省略 </VirtualHost> |
③設定ファイルにシンボリックリンクを貼り、デフォルトの設定ファイルを無効化する
1 2 |
# cd /etc/apache2/sites-available/ # a2ensite vhost-yourdomain.conf |
デフォルト無効化Apache再起動
1 2 |
# a2dissite 000-default.conf # systemctl restart apache2 |
④hostsファイルの編集
1 2 3 |
# vi /etc/hosts 127.0.0.1 <FQDN> |
⑤ディレクトリー作成
1 |
# mkdir /var/www/html/<FQDN> |
⑥テストページを作成し、動作確認
1 2 3 4 5 6 7 8 9 |
# vi /var/www/html/<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> |
⑦ブラウザでhttp://<FQDN>/index.html にアクセスして確認