目的:
WEBサーバを立てる。当面、宅内のローカルWEBサーバとする。
手順:
WEBサーバ として、apache, PHP, mySQL, workpress をインストールする。- apache のインストール
- apache2 のインストール
$ sudo apt install apache2
別PC から http://[ラズベリーパイのIPアドレス] で、
Apache2 Debian Default Page
It works!
とかの表示がでれば、OK - apache2 のグループを自IDに追加
自分のグループに www-data を追加しておく。
$ sudo gpasswd -a [自ユーザ名] www-data - エラー発生時のバージョン情報等を表示させなくする
エラー発生時等に、apacheバージョン,サーバー名等を表示させない様にしておく。
$ sudo vi /etc/apache2/conf-available/security.conf
を以下の通り編集する。
(全サイトにて起用する場合。個別サイトでの対応時は、別ファイル)
ServerSignature Off <=== コメントアウトを外す #ServerSignature On <=== コメントアウトする
- webサーバーのルート、設定ファイル等
- 設定ファイルの所在
apach2 全体の 設定ファイルは、
/etc/apache2/apache2.conf
サイトの設定ファイルは、
/etc/apache2/sites-available
にある。ここには、複数の .conf があるが、
/etc/apache2/sites-enabled
にリンクされたファイルが有効なファイル。
初期状態では、000-default.conf が リンクされている。 - /etc/apache2/sites-enabled への リンク/リンク解除のコマンド
リンク/リンク解除のコマンドは、
$ sudo a2ensite //リンクを張る
$ sudo a2dissite //リンク解除
- ドキュメントルート
sites-enabled に リンクされた .conf に webサーバーのルート(ドキュメントルート)が設定されている。
例えば、
DocumentRoot /var/www/html
が、webサーバーのルート。
http://[ラズベリーパイのIPアドレス] で表示されるのは、
/var/www/html/index.html
の内容。初期状態では、”Apache2 Debian Default Page” が表示される。
必要に応じて、index.html を書き換える。
- 設定ファイルの所在
- PHP7.3 インストール
$ sudo apt install php7.3
- PHP7.3-mysql インストール
$ sudo apt install php7.3-mysql
- MariaDB インストール
$ sudo apt install mariadb-server
- MariaDB 初期設定
$ sudo systemctl start mariadb.service
$ sudo /usr/bin/mysql_secure_installation
Enter current password for root (enter for none):
のメッセージは、初期状態では未設定の為 Enter (空打ち)。
Set root password? [Y/n]
は Y で、root のパスワードを入力する。
その他の入力は Y を入力。
- phpmyadmin インストール
$ sudo apt install phpmyadmin
自動再設定をする web サーバ:
apache2 を選択
phpmyadmin 用のデータベースを dbconfig-common で設定しますか?
はい を選択
phpmyadmin 用の MySQL アプリケーションパスワード:
MariaDB に設定したパスワードと同じパスワードを設定
apacheに設定を読ませる為、/etc/apache2/apache2.conf を修正
$ sudo vi /etc/apache2/apache2.conf
最下行に次の記述を追加。
Include /etc/phpmyadmin/apache.conf
- MariaDB に ユーザを登録
phpmyadmin でアクセスする場合、root で ログイン しようとすると、
#1698 - Access denied for user 'root'@'localhost'
となる。この為、新しいユーザを登録する。(参考)
$ sudo mysql -u root
で MariaDBに接続。
CREATE USER 'hoge'@'localhost' IDENTIFIED BY 'hogepasswd';
で ユーザを追加。
GRANT ALL ON *.* TO 'hoge'@'localhost' WITH GRANT OPTION;
で 管理者用権限 を 付与する。
\q で MariaDB から抜ける。
- 起動確認
apache2 を再起動する。
$ sudo /etc/init.d/apache2 restart
再起動後、 http://[ラズベリーパイの IPアドレス]/phpmyadmin/ にアクセスし、
ログイン画面が表示されることを確認する。
追加した ユーザで ログインができることを確認する。
画面左上のアイコンの 左から2番目のアイコン(ログアウト) を押下して抜ける。
- phpMyAdmin セキュリティ対策
将来サーバーを公開した場合等、phpMyAdmin が攻撃対象となる可能性がある為、
対策が必要。対策として、以下を実施。- エイリアスの変更。
/etc/phpmyadmin/apache.conf
の 3行目のエイリアス設定を変更し、phpmyadmin とは異なる名称にする。
$ sudo vi /etc/phpmyadmin/apache.conf
(変更前) Alias /phpmyadmin /usr/share/phpmyadmin
(変更後) Alias /[新しい名前] /usr/share/phpmyadmin
変更後、apache2 を再起動する。
$ sudo /etc/init.d/apache2 restart
今後、phpmyadmin にアクセスする場合は、
http://[ラズベリーパイの IPアドレス]/[Ailias に設定した名前]/
で行う。
- ローカルLAN内からのアクセスに限定する。
自宅内からのアクセスに限定できる場合は、以下の設定を行い、特定のIPからのアクセスからしか受け付けないようにする。
$ sudo vi /etc/phpmyadmin/apache.conf
/etc/phpmyadmin/apache.conf の 8行目あたり ( <Directory /usr/share/phpmyadmin> セクション ) に、以下を追加する。
Order Deny,Allow Deny from All Allow from 192.168.1.
- エイリアスの変更。
- wordpress インストール
- wordpress 用データベース設定
phpMyAdmin にログインして、データベースを設定
データベースタブから、”データベースを作成する” で作成。
例えば、データベース名 に wordpress を入力して "作成" を押下。
(まだ、テーブルは無い)
特権タブ を選択し、"wordpress" からのアクセス用ユーザーを追加する。
"Add user account" を押下し、
ユーザー名、パスワードを入力し、
”パスワードを生成する" で "生成する" を押下して生成されたパスワードを控え、
実行を押下。 - wordpress をダウンロード
/var/www/html で、パッケージを取得し、解凍する。
$ cd /var/www/html
$ sudo wget http://wordpress.org/latest.tar.gz
$ sudo tar xzf latest.tar.gz
$ sudo rm -rf latest.tar.gz
$ sudo chown -R www-data:www-data /var/www/html/wordpress
最後にリブートする。
$ sudo reboot
- wordpress 用データベース設定
- wordpress 設定
http://[ラズベリーパイの IPアドレス]/wordpress/
にアクセスすると設定画面となる。
日本語を選択して "続ける"
"さあ、始めましょう!" を押下。
データベース名、ユーザ名、パスワードに 上(11) で設定した値を入力。
その他は初期状態のまま、"送信"
"インストール実行" を押下。
サイトのタイトル、ユーザ名、パスワード、メールアドレス を入力し、"wordpressをインストール"を押下。
"ログイン" を押下し、設定したユーザ名、パスワードを入力すると、"ダッシュボード" が表示される。
以上の設定は、
/var/www/html/wordpress/wp-config.php
で 修正できる。
尚、この後は
http://[ラズベリーパイの IPアドレス]/wordpress
にアクセスすると サイトが表示される。
管理画面は、
http://[ラズベリーパイの IPアドレス]/wordpress/wp-login.php
で ログイン できる。
0 件のコメント:
コメントを投稿