Manjaro Linuxにランプを灯す

Manjaro LinuxにLAMPを導入してみた。導入してみてわかったことはすんなりといかなかったことだ。3回インストールしなおしてOKとなった次第である。インストールは、「アプリケーションの追加と削除」で行えるが、コマンドラインから導入したほうがよい。設定をいじる必要があるためだ。Linux MintやUbuntuと較べてコマンドラインはシンプルである。

なお、導入するLAMPの構成は、Apache(2.4.54)、MariaDB(10.8.3)、PHP(8.1.8)である。

LAMPの導入

入力するコマンドを示す。

パッケージの更新

sudo pacman -Syyu

Apacheのインストールと起動

sudo pacman -S apache
sudo systemctl restart httpd

MariaDBのインストールと起動

sudo pacman -S mariadb

MariaDBをインストールしたら、起動する前に必ず初期化する。

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

初期化したらMariaDBの有効化と起動を行う

sudo systemctl enable mysqld
sudo systemctl start mysqld.service

MariaDBを設定する。基本的にパスワードを変更する以外はすべてEnterキーを押せばよい。

sudo mysql_secure_installation

PHPのインストール

sudo pacman -S php php-apache

PHPの設定

sudo nano /etc/php/php.ini

PHPでMariaDBを考慮してコメントアウトする。

extension=mysqli
extension=pdo_mysql

Apacheの設定

sudo nano /etc/httpd/conf/httpd.conf

設定ファイルを開いて以下のように変更する。

httpd.confの設定

LoadModule mpm_event_module modules/mod_mpm_event.soをコメントにする
LoadModule mpm_prefork_module modules/mod_mpm_prefork.soをコメントアウトにする
LoadModule rewrite_module modules/mod_rewrite.soをコメントアウトする

Apacheの再起動

sudo systemctl restart httpd

確認

index.phpをドキュメントルートに作成する。

sudo nano /srv/http/index.php

記述する内容は以下のとおり。

<?php
    phpinfo();
?>

ブラウザを起動してhttp://localhost/へアクセスする。

PHPの構成

これでManjaro Linuxにランプを灯すことができた。めでたしといきたいところだが、この手順どおりやっても、ApacheやMariaDBをスタートしようとすると、Faildすることがある。起動しないのだ。もし、起動しないときは、以下のコマンドを入力して試してほしい。うまく行くかもしれない。

sudo systemctl daemon-reexec

どうしてもいかないときは、MariaDBを再インストールするしかない。MariaDBをアンインストール後、以下のファイルおよびフォルダを削除しておく。

/var/lib/mysql
/usr/bin/mariadbd
run/mysqld

うまくランプが灯されることを祈る。

追記

phpinfoが表示されないときがある。この場合は、http.confを開いて、LoadModuleとIncludeを追記する。

LoadModuleの最後に下記を追加する

LoadModule php_module modules/libphp.so
AddHandler php-script .php

Includeを検索して、Includeの最後に書きを追加する

Include conf/extra/php_module.conf