OSのインストール
こちらでOSのインストールの流れを書いているので割愛。
OSインストール後の初期設定
ubuntuパスワードの変更
初回ログイン時、IDもPWもubuntu。
なので、このパスワードを変更せよと言われるので、表示されるメッセージのままに
カレントパスワードを入力後、新パスワードを入力、続いて確認のためにもう一度新パスワードを入力して完了。
できればubuntuユーザーはロックして新規管理用ユーザーを作りたい
useradd か adduser か、いつも迷う。(そして、大抵2択は外す)
こうして残しておいても、結局またuseraddを実行するのはなぜなのか・・・
# adduser [newUserName]
Adding user `newUserName' ...
Adding new group `newUserName' (1001) ...
Adding new user `newUserName' (1001) with group `newUserName' ...
Creating home directory `/home/newUserName' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for taka
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
尚、これでユーザーを作成しても、rootになれない。
rootになろうとして「sudo su -」としてもこんなメッセージが返ってくる。
newUserName is not in the sudoers file. This incident will be reported.
そう、sudoグループに追加してあげる必要がある。
# gpasswd -a newUserName sudo
Adding user newUserName to group sudo
続いて、ubuntuユーザーをロックする。
# passwd -l ubuntu
passwd: password expiry information changed.
確認。
ユーザー名:ubuntu の後にLが入っているので、ロックされている。
# passwd -S ubuntu
ubuntu L 05/15/2021 0 99999 7 -1
タイムゾーンの設定
UTC が標準で設定されているので、それを Asia/Tokyo に変更。
$ sudo timedatectl set-timezone Asia/Tokyo
設定前
$ sudo timedatectl
Local time: Sat 2021-05-15 12:27:12 UTC
Universal time: Sat 2021-05-15 12:27:12 UTC
RTC time: n/a
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
設定後
$ timedatectl
Local time: Sat 2021-05-15 21:34:44 JST
Universal time: Sat 2021-05-15 12:34:44 UTC
RTC time: n/a
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
IPアドレスの固定
WebサーバなどがdhcpでIPアドレスを割り振られるなんて事はあまりないので、固定する。
WiFiはあまり使わないけど、一応動作確認程度に最初だけ使ってみる。
$ cd /etc/netplan/
$ sudo vi 50-cloud-init.yaml
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses: [192.168.x.y/24]
routes:
- to: default
via: 192.168.x.1
nameservers:
addresses: [192.168.x.z]
wifis:
wlan0:
dhcp4: false
access-points:
"SSID":
password: "password"
addresses: [192.168.a.b/24]
nameservers:
addresses: [192.168.x.z]
optional: true
$ sudo netplan apply
$ sudo networkctl up eth0
各種インストールと設定
apache2のインストール
$ sudo apt install apache2
これだけでとりあえずapache2がインストールされて起動する。
Raspberry Pi4 に設定したIPアドレスをブラウザで叩けば下記のように表示される。
phpのインストール
$ sudo apt install php php-mysql php-fpm
$ sudo apt install libapache2-mod-php
$ sudo systemctl restart apache2
とりあえず、これでphpがインストールされて、test.phpという名前のファイルを /var/www/html/ において、内容を下記のようにし、ブラウザからこのファイルに対してアクセスしてみる。
<?php
phpinfo();
?>
下図のようにずらずらと出てくればphpの動作もOK。
vsftpdのインストール
ファイルをアップロードするのにftpサーバがあると便利なのでインストール。
$ sudo apt install vsftpd
mariaDBのインストール
WordPressでは今までmysqlを使ってきたけど、mariadbの方が速度的にも有利とのことなので、そろそろmariadbを使い始めてみる。
$ sudo apt install mariadb-server
初期設定
$ sudo 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
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
ここではいったんそのままエンターを押して進める。
(初回インストールでまだ root のパスワードを設定していないため)
次に unix socket を使用するかを聞かれるが、既にrootアカウントは保護されているので n で良い。
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] n
ちなみに、n にしても unix socket のプラグインが読み込まれなくなるわけではないみたい。
なので、n にしても、unix socekt プラグインが有効になる。
つまり、Linux(Ubuntu)側のユーザーと、mariadb側のユーザーが一致していれば、パスワード無しで
ログインできる。root も同様。
次は Y で root のパスワードを設定する。
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] Y
続いて、匿名ユーザーの削除について。ここは Y に。
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
次は、rootのリモートログインを許可するかどうかで、許可したくない(Disallow)ので Y に。
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
テスト用データベースを削除するかどうかは、削除して構わないので Y とする。
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
最後に設定の反映確認なので、Y で実行。
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
最後に以下が表示されたら完了。
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
続いて、adminアカウントを作成します。
いままではrootアカウントをそのまま使用していたけど、それだと不都合出る事があるようなので、新たにadminを作成。
もちろん password の部分はちゃんとadminのパスワードを入力のこと。
$ sudo mariadb
MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
WordPress用のデータベースを作成。
$ mysql -u admin -p
mysql> create database 作成したいデータベース名 default character set utf8;
mysql> create user 'ユーザー名'@localhost identified by 'ユーザーのパスワード';
mysql> grant all on '作成したデータベース名'.* to 'ユーザー名'@localhost with grant option;
mysql> flush privileges;
mysql> exit
WordPressのインストール
WordPressの入手は下記URLから。
下記コマンドでもOK。
sudo wget https://ja.wordpress.org/latest-ja.tar.gz
ダウンロードしたファイルを apacheのドキュメントルートに保存。
デフォルトでは /var/www/html 。
その後、ダウンロードしたファイルを解凍するとwordpressというフォルダの中にいろいろとできあがる。
そのフォルダの権限設定を確認すると、rootになっているかと思うので、apache2がアクセス出来るように www-data にオーナーもグループも変えておく。
$ sudo chown -R www-data:www-data ./wordpress
解凍したディレクトリの中に、wp-config-sample.php というファイルがあるので、これを wp-config.php としてコピーを作成し、内容を編集していく。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'xxxxx' );/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'xxxxx' );
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'xxxxx' );
(中略)
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
尚、後半は
https://api.wordpress.org/secret-key/1.1/salt/
にアクセスすると自動生成してくれるので、それをコピペした方が楽。
ここまで済んだら、ブラウザで http://IPアドレス/wordpress/ にアクセスすればインストールがウィザード形式で開始される。
あとは指示通りに設定を進めていけば完了。
今回購入した物リスト
この記事にコメントしてみる