apache2いい感じ
■
2週間ほど電源ONしたままSSHで細かな設定を変えながら使っていたが、
いきなり使えなくなった。確認するとMicroSDカードが壊れて読み込み不可。
熱か?仕方ないので再インストール今度のOSは
Ubuntu 20.04.2 LTS" 64ビットサーバーLTSにしてみた。
ざっくりアップグレードと無線LAN設定をやってまずapach2をインストールで
あっさり完了。前回のOSはエラーが出たが今回はエラーなしで終了。
メモってみた。
$ sudo ufw app list
Available applications:
OpenSSH
まだapache2インストールしてないのでhttpdのF/w設定がはいってない。
$ sudo apt install apache2
:
:
Enabling site 000-default.
Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service.
Created symlink /etc/systemd/system/multi-user.target.wants/apache-htcacheclean.service → /lib/systemd/system/apache-htcacheclean.service.
Processing triggers for ufw (0.36-6) ...
Processing triggers for systemd (245.4-4ubuntu3.4) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
ubuntu@ubuntu:~$
あっさりインストール完了
$ sudo ufw app list
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
F/Wのセットが入っている。
■F/wの調整
※1 Apache: WWW、ポート80 のみを聞く
※2 Apache Full: このプロファイルは、ポート80とポート443の両方を開く
※3 Apache Secure: このプロファイルは、ポート443 のみを聞く
Rules updated
Rules updated (v6)
SSHも通るようにしておく
$sudo ufw allow 'OpenSSH'
$ sudo ufw status
Status: inactive
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
$ sudo ufw status
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
■やりたいこと
とりあえずHTTPサーバが立ち上げるので以下のことをやってみる
・指定のディレクトリにアクセスするとBasic認証でIDとパスワードを聞いてくる。
・ID、パスワードを入れるとディレクトリ以下のファイルが見れる
・最後にシンボリックリンクでNASサーバのファイルをWEBサーバ経由でアクセス
する。
■Basic認証を付ける
1.htaccess用パスワード作成ツールで.htpasswdを作成する
2.パーミッションは604
http://192.168,XX,YY/info/ にアクセスしたらIDとパスワードを聞いてくる
Basic認証設定をする
■パスワードファイルの.htpasswdを作成
$sudo htpasswd -c /var/www/.htpasswd ユーザ名
New password:パスワード
Re-type new password:パスワード
Adding password for user ユーザ名
/var/www/.htpasswd が作成されたことを確認
$sudo ls -a /var/www/
あるので
$sudo chmod 604 /var/www/.htpasswd しておく。
■/etc/apache2/apach2.confに設定追加
--------------------------------------------
<Directory /var/www/html/info>
AllowOverride None
Order allow,deny
Allow from all
Options FollowSymlinks
Options Indexes FollowSymLinks
AuthType Basic
AuthName "erina Please input ID & Password"
AuthUserFile /var/www/.htpasswd
<Limit GET POST>
require valid-user
</Limit>
</Directory>
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#
AccessFileName .htpasswd
--------------------------------------------------
■$sudo service apache2 start
もし起動しない場合
$ sudo systemctl status apache2.service
で起動エラー内容を確認。
私の場合
Invalid command 'AuthGroupFile', perhaps misspelled or defined by a module not included in the server configuration
で起動しなかった。
apach2.confの「AuthGroupfile /dev/null」の記述を消し起動OKとなった。
これでBasic認証付きのディレクトリができたのでここからNASサーバに飛ばしファイルのアクセスを可能にする。
次は上記設定でシンボリックリンクアクセス可能かのテストです。
■NASサーバのマウント
$sudo mkdir /mnt/oresama1
$sudo mkdir /mnt/oremasa2
2台のNASサーバを/mntにマウント
※マウントする前にcifsがマウントできるように
cifsユーティリティをインストールしておく。
$ sudo apt install cifs-utils
NASのマウント
$sudo mount -t cifs //192.168.X.X/public /mnt/oresama1 -o user=xxxx,password=YYYY
$sudo mount -t cifs //192.168.X.Y/public /mnt/oresama2 -o user=xxxx,password=YYYY
■シンボリックリンク作成
$ sudo ln -s /mnt/oresama1 oresama1
$ sudo ln -s /mnt/oresama2 oresama2
結構サクサクアクセスできるわ。