ただのインストールメモです。
仮にtmu.acというポスト名を割り当てるという事で説明します。
OS初期化設定
SakuraのコンソールでOS再インストールを選び、以下の設定でCentOS Stream9をインストールする。
項目
選択
OSインストール形式
標準OS
インストールOS
CentOS Stream9 X86_64
新しい管理ユーザーのパスワード
内緒💛
スタートアップスクリプト利用
Setup and update
初回起動時にパッケージ更新する
更新する
日本語環境 ja_JP.UTF-8 に変更する
ja_JP.UTF-8 に変更する
ホスト名を設定する
tmu.ac
SSHポートを変更する
22
ログインユーザ名
内緒💛
github.com に登録済みの公開鍵を設定
内緒💛
キーボード配列
変更しない
VM内部のファイアウォール
有効化する
ウェブ管理インタフェース Cockpit
インストールする
IPv6
有効化する
スワップ(swapfile)
作成しない
パッケージ管理システム Snappy(snap)
インストールする
SELinux
有効化しない
カーネルクラッシュダンプ
有効化しない
タイムゾーン
変更しない
パケットフィルター設定
利用しない
サーバーへのSSHキー登録
登録する
SSHキー
内緒💛
パスワードを利用したログイン
無効にする
インストール作業
Apache+PHP+PostgreSQL+MariaDB+VIMのインストール
sudo dnf install -y httpd mod_ssl httpd-tools httpd-devel httpd-manual php php-cli php-gd php-pdo php-mbstring mariadb mariadb-server vim
Apaceh起動
sudo sh -c "echo \"ServerName hogehoge.com:80\" >> /etc/httpd/conf.d/my.conf"
sudo systemctl enable --now httpd
Firewallでhttpとhttpsを許可
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Snapdのインストール(Let's Encryptに必要)
sudo dnf -y install epel-release
sudo dnf --enablerepo=epel -y install snapd
sudo systemctl enable --now snapd.service snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
もしかしたら端末立ち上げなおす必要があるような情報があったので、そうしてみましたが、source ~/.bachrcで十分かもしれない。あるいは、そのままでも行けるかもしれない。(未調査)
sudo snap install core
sudo snap refresh core
Let's Encryptのインストールと証明書取得
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
udo certbot --apache
# 本来なら上のコマンドで行けるはずだが、エラーがでる
sudo certbot certonly --webroot -w /var/www/html -d tmu.ac
成功すれば証明書のパスが表示される。
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/tmu.ac/fullchain.pem
Key is saved at: /etc/letsencrypt/live/tmu.ac/privkey.pem
This certificate expires on 2022-06-11.
このパスをApacheの設定ファイルを突っ込む。
sudo sh -c "echo \"
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/tmu.ac/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/tmu.ac/privkey.pem
</VirtualHost>\" >> /etc/httpd/conf.d/my.conf"
Apache再起動(この時点で https://tmu.ac/ でSSL接続できるはず)
sudo systemctl restart httpd
ついでに、Cockpictへ証明書のインストール。.cert形式じゃないとダメみたいなのでfullchainとprivkeyくっつけて.certを作る。
sudo sh -c "cat /etc/letsencrypt/live/tmu.ac/fullchain.pem /etc/letsencrypt/live/tmu.ac/privkey.pem > /etc/letsencrypt/live/tmu.ac/ssl.cert"
sudo ln -s /etc/letsencrypt/live/tmu.ac/ssl.cert /etc/cockpit/ws-certs.d/ssl.cert
Cockpit再起動(https://tmu.ac:9090/でCockpitにセキュアに接続できるはず)
sudo systemctl restart cockpit.socket
証明書更新のcrontab組み込み(pemからcert作成も含む)
sudo sh -c "echo \"
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
23 03 * * 1 sudo certbot renew --deploy-hook \\\"sudo sh -c \\\\\"cat /etc/letsencrypt/live/tmu.ac/fullchain.pem /etc/letsencrypt/live/tmu.ac/privkey.pem > /etc/letsencrypt/live/tmu.ac/ssl.cert\\\\\";sudo systemctl restart httpd\\\"\" >>/etc/cron.d/0SSLUpdate"
MariaDB (MySQL)の初期設定
MariaDBの起動
sudo systemctl enable -now mariadb
mysql_secure_installation
MariaDB データベース&ユーザ作成
mysql -u root -p
CREATE DATABASE *dbname*;
CREATE user *username*;
GRANT ALL ON dbname.* TO username@localhost IDENTIFIED BY '*password*';
exit
ログイン方法
mysql -u username -D dbname -p
passwordを入れる
NodeJSのインストール
Volta: https://docs.volta.sh/guide/
Voltaというバージョン管理システムが良さげ。
Voltaをインストール
curl https://get.volta.sh | bash
ん?
Installing latest version of Volta (1.0.5)
Checking for existing Volta installation
Fetching archive for Linux, version 1.0.5
curl: (22) The requested URL returned error: 404
Error: Could not download Volta version '1.0.5'. See https://github.com/volta-cli/volta/releases for a list of available releases
うーん、できない。
たぶん、CentOS Stream9のopensslが3.0なのが悪さをしている模様。
『volta-1.0.5-linux-openssl-1.1.tar.gz』のようにopensslのバージョン別にファイルが用意されている。opebnssl-3.0.tar.gzはまだない。やむを得ず、時間が解決するのを待つ事にする。
と言う訳で気を取り直して、MVNをインストールしnode最新版をインストール。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc
nvm install node
めでたしめでたし。
↧