CentOS8.x系統は、デフォルトでPHP7.2系統のPHPがインストールされますが、今回は最新の7.4系をインストールしてみます。
apacheのインストールとポート開放
まずはApache HTTPD本体のインストールを行います。
#dnf -y install httpd httpd-tools httpd-devel httpd-manual
インストールが終わったら、サービスを起動してみます。
# systemctl start httpd
問題なく起動できたら、
http://localhost/
にアクセスして、Welcomeメッセージが出てきたら成功です。
再起動後に自動的に起動するように下記の設定をしておきます。
# systemctl enable httpd
でも、このままだと外部からの接続ができません。
HTTPとついでにHTTPSの接続を有効にしておきましょう。
# firewall-cmd --add-service=http --permanent # firewall-cmd --add-service=https --permanent # firewall-cmd --reload
外部のPCからIPアドレスでアクセスしてみて、同じようにWellcomeメッセージが出てきたら成功です。
PHPのインストール
以下のように行います。
# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core) # dnf module reset php # dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm # dnf module install -y php:remi-7.4 # php -v PHP 7.4.7 (cli) (built: Jun 9 2020 10:57:17) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies
内容としては
CentOSのバージョンを確認。
インストール済みのPHPを削除。
remiリポジトリの登録
remiリポジトリのPHP7.4をインストール
インストールされたPHPのバージョンを確認
となります。
データベース(mariadb)のインストール
以下の3つのモジュールを組み込みます。
#dnf install -y mariadb-server mariadb mariadb-devel
いろいろ表示されると思いますが、最後に”完了しました!”と出ていればおそらく大丈夫でしょう。
次に、mariadbを起動&常時起動設定を行っておきます。
# systemctl start mariadb # systemctl enable mariadb
次に、mariadbの初期設定を行います。
# mysql_secure_installation
こちらは、昔からあるいつもの奴です。メッセージに従って設定してください。
設定が終わったらとりあえずrootでログインしてみて、データベースの一覧を表示してみましょう。
# mysql -u root -p MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.000 sec)
総合的な動作確認
とりあえず、動くかどうかの確認で、phpmyadminを入れてみます。
phpmyadminをダウンロードします(URLは変わる可能性がありますので、随時調べて入れましょう)
#cd /var/www/html # wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip # unzip phpMyAdmin-5.0.2-all-languages.zip # rm phpMyAdmin-5.0.2-all-languages.zip
ここで、http://localhost/phpMyAdmin-5.0.2-all-languages にアクセスすると設定画面が出てくるはずですが…
mysqli 拡張がありません。って言われちゃいましたので入れます。
# dnf install -y php-mysqli
もう一度アクセスするとログイン画面が出てきます。ログインできることを確認しましょう。
新しいテーブルやユーザーを作成できることを確認します。
因みに、phpMyAdminは結構セキュリティーホールになったりする場合が多いので、外部からアクセスできるサーバーの場合は、アプリのログインとは別に何かしらの接続制限を設けることをお勧めします。
[おまけ]CakePHP3を動かしてみる
私はCakePHPを使うことが多いので、CakePHP3も入れてみます。
まず、php-intlモジュールが必須なので追加でインストールします。
# dnf install -y php-intl
composer経由でインストールしますが、コマンドは公式サイトに書いてありますので、その通りにやれば良いでしょう。
https://getcomposer.org/download/
composer.pharをダウンロードできたら、以下の場所に移動させて、いつでも使える状態にしておきます。
# mv composer.phar /usr/local/bin/composer
composer経由でcakephpを入れてみます。現在の最新版の3.8を入れてみます。
# composer self-update && composer create-project --prefer-dist cakephp/app:^3.8 my_app_name
これで、
http://localhost/my_app_name
にアクセスするとcakeの初期画面が表示されるはずです。