この記事を読むのに必要な時間は約 20 分です。
VPSとして非常に高性能で且つ、使いどころを考えるOCI
arm64の扱いどころの難しさ
24GBマシンと言えば、OCI。
VPSではありませんが、難易度が通常のVPSの100倍ぐらいあるVPSだと考えれば、100倍ぐらいの価値があるため、許せてしまいます。
しかし、24GBマシンはarm64アーキテクチャの為、使う人を選びます。
今回はLAMP環境にしてみたいと思います。
aapanel とcyberpanel
cpanelなど、高機能でぜひとも採用したいところではありますが、サブスクリプションでお金かかるんですよね・・・
となったときに、最近有名なaapanelとLightspeedが使えるcyberpanel
残念ながらどちらも不採用です。
panelを使えば柔軟性が非常に上がると思っていたのですが、どうしてもかゆいところに手が届かない。
そのため、自分好みのLAMP環境をこさえる場合、必要なソフトを選んで都度対応していく事になります。
今回は手間を惜しんコントロールパネルを利用しないでひとつづつ必要なソフトを選ぶ形で構築してみたいと思います。
PHP8.1の導入
まず、phpを入れるのですが、その前にapacheのチェックです。
こんな感じで初期状態で入っていません。
ではphpを入れてみましょう。
# php 8.Xの更新 with apache
apt install \
php8.1 \
libapache2-mod-php8.1 \
php8.1-bcmath \
php8.1-curl \
php8.1-intl \
php8.1-gd \
php8.1-mbstring \
php8.1-mysqlnd \
php8.1-apcu \
php8.1-cli \
php8.1-common \
php8.1-dev \
php8.1-imagick \
php8.1-mcrypt \
php8.1-memcache \
php8.1-memcached \
php8.1-opcache \
php8.1-snmp \
php8.1-sqlite3 \
php8.1-xml \
php8.1-zip \
-y
#↑ここでapacheが有効化
この直後にapacheを確かめてみましょう。
cat <<EOF > /var/www/html/phpinfo.php
<?php phpinfo()# ?>
EOF
apacheをいれてみる。
先ほど確認したばかりですがとりあえずやっておきます。
#apacheを最新化
#apachectl -vで現在バージョンをチェック
#apt show apache2で最新版を確認
apachectl -v
apt-get install apache2
apachectl -v
MariaDBを入れてみる。
使っているUbuntuが20.04で、最近発表された22.04でも最新版は入ってくれません。
なので、個別に入れます。
#***************************
#現在情報チェック
#apt show mariadb-server
#https://mariadb.org/download/
#以下は参考で上記で、ダウンロード用のコマンドを生成してくれる
sudo apt-get install software-properties-common dirmngr apt-transport-https
sudo apt-key adv –fetch-keys ‘https://mariadb.org/mariadb_release_signing_key.asc’
sudo add-apt-repository ‘deb [arch=amd64,arm64,ppc64el,s390x] https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/10.8/ubuntu focal main’
sudo apt update
sudo apt install mariadb-server
#mariadbと叩いて中に入れればOK
mariadb
select version();
phpmyadmin(エラー大量)
MariaDBがそのままだと扱いにくいのでphpmyadminを導入します。
#phpmyadminの導入
apt update && sudo apt upgrade -y
apt install phpmyadmin -y
#途中で、httpサービスを聞かれるのでApache2を選ぶ
#初期設定するかい?(PWだけ)と、きかれるので質問に答えていく
#初期ID/DB作成の為
DBの初期設定をするか聞かれるので設定を行う。
phpmyadminのPWを聞かれるので答える。
cp -p /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
cd /etc/apache2/conf-enabled
ln -s ../conf-available/phpmyadmin.conf phpmyadmin.conf
#リンク先のconfを読み込ませて再起動
a2enconf phpmyadmin.conf
systemctl reload apache2.service
各種設定ファイルを作成してapacheを再起動する。
IDとPWを確認する。※覚えているなら不要
cat /etc/phpmyadmin/config-db.php
この段階で一度アクセスしてみる。
このようにエラーが大量に表示されてしまうが、php8.1とphpmyadmin5.4の相性問題の為、公式に案内されている復旧方法ではなく、ソースからの入れ直しを行う。※公式案内の修復は状況がさらに悪化したため。
phpmyadminをアンインストール
一度インストール済みのphpmyadminを削除する
apt remove phpmyadmin
一度行った設定を削除するか聞かれるが残す。
phpmyadminの手動インストール
一度ダウンロードして手動でインストールを行う。※基本はパスの変更程度の作業
#移動してソースから入れる
cd /usr/share/
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0-rc1/phpMyAdmin-5.2.0-rc1-all-languages.zip
unzip phpMyAdmin-5.*
mv phpMyAdmin-5*.zip backupphpmyadmin.zip
mv phpMyAdmin-5* phpmyadmin
#ブラウザをリロード ※設定ファイルなどが残っているのでエラーが消える。
ブラウザをリロードする。
※設定がパッケージインストールしたときの物が残っているため、ファイルを配置するだけで利用可能。
ログイン前のエラーは消える。
しかし、ログインしてみると以下のエラーが表示されるため、それぞれ対応する。
$cfg[‘TempDir’] (/usr/share/phpmyadmin/tmp/) にアクセスできません。phpMyAdmin はテンプレートをキャッシュすることができないため、低速になります。
/etc/phpmyadmin/config.inc.phpに TempDirの設定を入れる。
cp -p config.sample.inc.php config.inc.php
vi /usr/share/phpmyadmin
#その1:以下を最後に追記
$cfg [‘TempDir’] = ‘/tmp’;
tail /etc/phpmyadmin/config.inc.php
設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。
blowfish_secretと記載あるか所を探して以下の通り編集する。※32文字ちょうどにそろえる
$cfg[‘blowfish_secret’] = ”; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
↓
//$cfg[‘blowfish_secret’] = ”; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg[‘blowfish_secret’] = ‘asdfjhasdkfsdjlasjdfhasdlifasdfk’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
2か所の修正が完了したらブラウザをリロードして再ログインする。
※以下のようにエラーが消えたら成功
phpmyadminの管理者ユーザーを作る
mariadbにログインする。
現在のユーザーを確認する。
上記のphpmyadminユーザーの権限を昇格させる。
phpmyadminで以下がさみしかったり・・
権限がない旨表示されるが・・・
権限を強くする。
これでphpmyadminを表示しているブラウザから入りなおすと・・・
いろいろ変化する。
imagemagickのバージョン7をインストールする。
LAMP環境に関係が無いのでオプションです。
もし古い物が入っていたら削除する。
ソースからダウンロードして コンパイルする
tar xvf ImageMagick.tar.gz
cd ImageMagick-7*
./configure
make
make install
ldconfig
最後のldconfigは重要です。
ソースからのコンパイルは長いので気長に待つ
最後に、バージョンチェック
バージョン7がインストールされていることを確認する。
aapanelを導入する。
此方の記事で細かく書いていますので詳細は割愛しますが、以下をたたくだけです。
このサーバーマネージメント用のパネルについて今回いろいろ試してみた結果、自分の中でいる/いらないに関する賛否両論な討議が行われました。
その結果、
いる!
になりました。
LAMP環境をワンタッチでインストールできる素敵なaapanelですが、今回私が利用したい、WebサーバーやDB,APPエンジンのバージョンが選べないという結論に達しました。
書くディストリビューションの標準で入るべきバージョンにはなるのですが、最新版が欲しいといった場合、aapanelだと対応が難しいようです。
以下、今回の構成で導入した結果です。1年もすれば陳腐化するかもしれませんが、aapanelだと、2~3年前の物になってしまいます。以下赤字部分を満たすためには手動での対応が必須かもしれません。
構築してみた所感
VPSでLAMP環境を構築する価値ってあるのか? ない!
まず、wordpressを使いたいだけなら、こんなに手間をかけなくても、ドメイン取得からインストールまで2~3分で対応できるレンタルサーバー屋さんが沢山あります。
ここまで手間をかける価値って本当にないと思います。
あるソフトウェアの特定のバージョンが利用したいというこだわりが無ければ、素直にレンタルサーバーを利用しましょう。
年間5000円ぐらいで超ハイスペックなサーバーを提供してくれるCORESERVER(コアサーバー)
※最安値プランのVPSに対して何十倍も性能が高いスペックのマシンを低価格で提供してくれます。