こんにちは!
ナビゲータのEVEです。
本日も、Ubuntu22.04のインストールを試みています。まず、最初に、Ubuntu自前のSSL/TLSを有効にしない方法で再度やってみましたが、18日の状況と同じです。Edgeで接続しようとすると、httpではなく、httpsでアクセスしようとして、頁が表示されません。Chromeだとhttpでアクセスできるのですが、前回と同じだということは確認できたので、ここでSSL/TLSを有効にしない方法でのインストールは諦めました。
そして、SSL/TLSを導入を検討するのですが、Ubuntu自前のSSL/TLSが有効にならないといった、昨日の発言は間違いだったようです。画面に表示されたメッセージが「この接続ではプライバシーが保護されません」だったので、てっきりSSL/TLSが有効になっていないと考えていたのですが、ここでの警告は、公開鍵がCAが証明するものでないから危険ですよ!っと注意をしているようです。ただ、接続するたびごとにこのようなメッセージが表示されるのは、煩わしいので、やはり、正式なSSL/TLSを導入します。但し、昨日の発言とは違い、本日は、購入したSSL/TLSを導入します。
[Certbotの導入を検討して]
CertbotのUbuntu18.04への導入は、非常に簡単だったのですが、Ubuntu22.04では難しくなりました。まず、Ubuntu18.04と同じ手順で導入しようとしたのですが、うまくいきません。そのため、インターネットで調べたのですが、購入したSSL/TLSと同じ設定方法になってしまったようです。インターネットで作業手順を探しているうちに、同じ手順なら最初っから購入済みのSSL/TLSを導入した方がいいということになり、本日は、購入済みのSSL/TLSを導入しました。
[本日の作業の手順]
以下は、本日色々調べた結果正しいと思われる方法で、かつ、エラーが発生することなくインストールでき、動作も正常だと確認できたところまでの報告となります。
⓪MySQLのデータベースをバックアップします。
#mysqldump --single-transaction -u root -p [データベース名] > /var/test/Ubuntu18.04データベースバックアップファイル名
※この後Xserverの管理画面から、Ubuntu22.04をインストールし、サーバーをまっさらな状態にします。以下の手順はその状態からのインストールになります。
❶依存関係のあるパッケージを自動入手する「gdebi」
#apt-add-repository universe
・パッケージのリポジトリからインストール可能なパッケージの一覧を更新します
#apt update
・gdebiパッケージをインストールする
#apt -y install gdebi
※インストールの途中で、選択を求められますが、デフォルトのまま[了解]を押下しました。
・restrictedを有効にする
#apt-add-repository restricted
・multiverseを有効にする
#apt-add-repository multiverse
・パッケージのリポジトリからインストール可能なパッケージの一覧を更新します
#apt update
・Ubuntuをアップグレードする
#apt -u upgrade
・サーバーを再起動する
#reboot
❷Apacheのインストール
・パッケージのリポジトリからインストール可能なパッケージの一覧を更新します
#apt update
・Apacheをインストールする
#apt -y install apache2
❸SSL/TLSを有効にする
★秘密鍵の設定を行う
・[秘密鍵] → /etc/ssl/private/ へコピー
・所有権を設定する
#chown root:ssl-cert [秘密鍵]
ユーザrootとssl-certグループに所有権を付与します。
・アクセス権を設定する
#chmod 640 [秘密鍵]
所有者本人(root)には、読み出しおよび書き込みを許可し、rootと同じグループのユーザーには、読み出しのみを許可をします。
★SSL証明書と中間証明書の設定
・取得したSSL証明書と中間証明書ファイルを /etc/ssl/certs/ ディレクトリにコピーします。
中間証明書はコピーのみでいいようです。
★/etc/apache2/sites-available/default-ssl.confを修正します。Apacheのセキュリティファイルに各ファイルのパスを通します。
SSLCertificateFile /etc/ssl/certs/[SSL証明書]
SSLCertificateKeyFile /etc/ssl/private/[秘密鍵]
SSLCertificateChainFile /etc/ssl/certs/[中間ファイル名]
※ついでに管理者のアドレスを変更しましょう。
# 3行目:管理者アドレス変更
ServerAdmin admin@pro2grammer.com
★モジュールを有効化する
#a2ensite default-ssl
#sytemctl reload apache2
#a2enmod ssl
#systemctl restart apache2
❹MySQLのインストール
・パッケージのリポジトリからインストール可能なパッケージの一覧を更新します
#apt update
・MySQLをインストールする
#apt -y install mysql-server mysql-client
・rootのパスワードを変更する
#mysql -u root -p ← 最初はパスワードなしでログインできてしまいます。
・rootへパスワードを設定する
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[パスワード]'
・ログアウトします
mysql>exit
❺PHPを導入する
・パッケージのリポジトリからインストール可能なパッケージの一覧を更新します
#apt update
・PHPをインストールする
#apt -y install zip php libapache2-mod-php php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-ldap php-pear php8.1-enchant php8.1-snmp hunspell -y
※zip php以降は利用するパッケージになります。ディスク容量の問題もありますので、ご自分の環境にあわせてインストールするパッケージを変更してください。
・Apacheを再起動する
#systemctl restart apache2
・MySQLを再起動する
#systemctl restart mysql
❻WordPressを導入する
・wordpressをサイトからダウンロードします。
#wget https://wordpress.org/latest.zip
・rootでMySQLへログインをする。
#mysql -u root -p
・データベースを構築します
mysql>create database [データベース名]
・WordPressのユーザを作成する
mysql>create user [ユーザーID] identified by '[パスワード]'
・作成したユーザに権限を付与する
mysql>grant all on [データベース].* to [ユーザー];
・MySQLからログアウトする
mysql>exit
・作業パスを変更する
#cd /var/www/html
・ダウンロードしたユーザのzipファイルを現在いるパスに解凍する
#unzip ~/latest.zip
・解答し作成したフォルダに所有権を設定する
#chown -R www-data.www-data wordpress
※アクセス権を設定しないとインストールが始まりません。少しはまりました。
・https://[ホスト名+ドメイン名]/wordpress/へアクセスし、以降はWordPressの指示に従ってインストールしてください。
❼Ubuntu18.04でバックアップとして取得した、WordPressのデータベースをUbuntu22.04へ移植する
・rootでMySQLへログインをする。
#mysql -u root -p
・仮構築したWordPressのデータベースを削除する
mysql>drop database [データベース名]
・空のデータベースを作成する
mysql>create database [データベース名]
・MySQLからログアウトする
mysql>exit
・Ubuntu18.04WordPressバックアップを移植する
#mysql -u root -p [データベース名] < /var/document/[Ubuntu18.04データベースバックアップファイル名]
以上です。
そして確認したのですが、WordPressの管理画面にはログインできました。ただ、一般向けの情報提供画面が、想定しない情報が表示されます。想定されない情報とは下記のメッセージなのですが・・・?
The theme directory "twentyseventeen" does not exist.
想定通りの情報が画面に表示されるための方法を探したのですが本日は時間切れです。これ以降については、次回以降に調べて報告します。
[Ubuntuをアップグレードする方法をためしてみる]
以上の手順を試すのと同時に、OSがバージョンアップするたびに再インストールするのはめんどくさいので、OSをコマンドでアップグレードする方法も併せて調べています。ポイントは、アップデートマネージャーをインストールすることだそうです。
・パッケージのリポジトリからインストール可能なパッケージの一覧を更新します
#apt update
・アップデートマネージャーをインストールする
#apt install update-manager-core
・アップグレード及び新バージョンのパッケージに対する依存関係の変更操作
#apt dist-upgrade
・アップグレードを実施します。
#do-release-upgrade -d
実行後以下のメッセージが表示されます。
Checking for a new Ubuntu release
There is no development version of an LTS available.
To upgrade to the latest non-LTS develoment release
set Prompt=normal in /etc/update-manager/release-upgrades.
・Ubuntuのバージョンを確認する
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
以上の流れで実施したのですが、うまくバージョンアップできませんでした。本日検証結果を報告しようとしたのですが、そこまでする時間がありませんでしたので、また別の機会に報告したいと思います。
[今回は・・・]
一応Ubuntu22.04でも、うまくいきそうだなっというレベルまで理解が進みました。今後運用しながら、ノウハウを蓄積していきたいと思います。
インストールの話から外れますが、Google Chrome、Microsoft Edgeなど、近頃のブラウザはSSL/TLSが導入されていることが前提として動作しているようです。SSL/TLSも昔と比較して安くなり、無料のサイトがあるぐらいです。これから、どんなOSを導入する場合にも、SSL/TLSの導入は手順から外せないと感じた本日の作業でした。
今晩から、木こりをしに、田舎に行ってきます。帰ってくるのは、土、日ぐらいになりそうです。以降の報告は、土日以降になりますので、お楽しみに!
では、また!
■Certbot導入方法
https://www.server-world.info/query?os=Ubuntu_22.04&p=ssl&f=2
■Ubuntu 18.04(LTS)→20.04(LTS)アップグレード方法
https://qiita.com/hitobb/items/2ee9b1c2c49760976e0f
タグ:Ubuntu
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image