トップ
WEBサイト作成料金
お問い合わせ
自己紹介
ブログ
Blog.
Apacheをやめて、Nginx+PHP-FPMでHTTP/3(h3)
2022年07月03日13:40
※※※※※※※※※※※※※書いてる途中です。

Apache大好きだけどHTTP/3の対応が遅いのでNginx環境にしてみた。

//Nginxをインストール
# yum -y install nginx

//Apacheを停止&自動起動Off
# systemctl stop http
# systemctl disable http

//Nginxを起動&自動起動On
# systemctl start nginx
# systemctl enable nginx

# vi /etc/php-fpm.d/www.conf
----------------------------------------
user = nginx
group = nginx
listen.acl_users = nginx
----------------------------------------

# vi /etc/nginx/nginx.conf
-----------------------------------------------------------------------
location / {
  index  index.html index.htm index.php;
}
location ~ \.php$ {
  fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  include         fastcgi_params;
  fastcgi_pass    unix:/var/opt/remi/php81/run/php-fpm/www.sock;
}
-----------------------------------------------------------------------
RockyLinux(8.6)でWindowsファイルサーバー(samba)を構築
2022年06月29日16:27
ローカル内でファイルの共有をする時に便利かと思い、sambaを入れます。

sambaのインストール

# yum -y install samba
# systemctl enable smb


自分しか使わないので、ユーザーは作成せずゲストでアクセスして使います。
※基本的にはユーザーを作って使いましょう。ゲストは危ないです!😊

//分かりやすくルートディレクトリにsamba(共有)ディレクトリを作成します(どこでもいい)
# mkdir /samba

//設定ファイル編集
# vi /etc/samba/smb.conf
----------------------------
[global]
  workgroup = WORKGROUP
  hosts allow = 192.168.11.
  guest account = nobody
  map to guest = bad user
[share]
  path = /samba
  browseable = yes
  writable = yes
  read only = no
  guest ok = yes
  guest only = yes
----------------------------


ファイアウォールの解除や、SELinuxの解除を勧める記事が多いですが、
ローカル環境とは言えど、そんな事はしたくないです。
SELinuxは厄介な存在ですが、無理やり慣れていきましょう。(SELinuxきらい!😂)

//ファイアウォールでsambaを許可
# firewall-cmd --permanent --zone=public --add-service=samba
# firewall-cmd --reload

//SELinuxを利用してる場合

//ゲストの書き込みを許可
# setsebool -P smbd_anon_write=1

//samba(共有)ディレクトリのアクセス許可
# semanage fcontext -a -t public_content_rw_t "/samba(/.*)?"
# restorecon -Rv /samba


//sambaを再起動(設定反映)
# systemctl restart smb


あとは、エクスプローラーなどでサーバーのIPを叩いてアクセスし、
ファイルの読み書きが可能か確認します。
\\192.168.11.100


shareディレクトリに移動して
ディレクトリを作成したり、テキストファイルを作成してみたり、削除してみたり。
問題なければファイルサーバー構築完了です!
【備忘録】RockyLinux8.6でLAMP環境を整える
2022年06月26日19:25
LAMP(死語)のようだけど、まだまだ大好きな環境です。

- Linux
- Apache
- MySQL(MariaDB)
- PHP

近年、覇権争いでWEB界隈の景色が変わりましたね。
CentOSからUbuntuやDebianへの流れ
ApacheからNginxへの流れ
MySQLから多様化
PHPからPythonなど

信念は持ちつつ、流れにも乗りながら勉強し続けましょう。


さて、LAMP環境をインストールしていきます。
舞台はminimalインストールしたRockyLinux8.6です。
# cat /etc/redhat-release
Rocky Linux release 8.6 (Green Obsidian)


今回は下記の環境にします
httpd 2.4.37
php 8.1
MariaDB 10.3


phpは最新版を入れたいので、remiリポジトリも利用します

RockyLinux8.6でRemiリポジトリを使えるようにする
https://gacreate.com/blog/8/

//httpdのインストール
# yum -y install httpd httpd-devel

# rpm -qa | grep httpd
rocky-logos-httpd-85.0-4.el8.noarch
httpd-devel-2.4.37-47.module+el8.6.0+985+b8ff6398.2.x86_64
httpd-tools-2.4.37-47.module+el8.6.0+985+b8ff6398.2.x86_64
httpd-filesystem-2.4.37-47.module+el8.6.0+985+b8ff6398.2.noarch
httpd-2.4.37-47.module+el8.6.0+985+b8ff6398.2.x86_64

//phpのインストール
# yum -y install php81

//追加でインストール
//php-fpmを導入します
# yum -y install php81-php-gd php81-php-mysqlnd php81-php-fpm

# rpm -qa | grep php
php81-php-common-8.1.7-1.el8.remi.x86_64
php81-php-opcache-8.1.7-1.el8.remi.x86_64
php81-8.1-2.el8.remi.x86_64
php81-php-gd-8.1.7-1.el8.remi.x86_64
oniguruma5php-6.9.8-1.el8.remi.x86_64
php81-runtime-8.1-2.el8.remi.x86_64
php81-php-cli-8.1.7-1.el8.remi.x86_64
php81-php-mbstring-8.1.7-1.el8.remi.x86_64
php81-php-pdo-8.1.7-1.el8.remi.x86_64
php81-php-xml-8.1.7-1.el8.remi.x86_64
gd3php-2.3.3-4.el8.remi.x86_64
php81-php-mysqlnd-8.1.7-1.el8.remi.x86_64
php81-php-fpm-8.1.7-1.el8.remi.x86_64
php81-php-sodium-8.1.7-1.el8.remi.x86_64

//MariaDBのインストール
# yum -y install mariadb mariadb-server

# rpm -qa | grep mariadb
mariadb-connector-c-3.1.11-2.el8_3.x86_64
mariadb-server-utils-10.3.32-2.module+el8.5.0+777+18007c86.x86_64
mariadb-common-10.3.32-2.module+el8.5.0+777+18007c86.x86_64
mariadb-10.3.32-2.module+el8.5.0+777+18007c86.x86_64
mariadb-gssapi-server-10.3.32-2.module+el8.5.0+777+18007c86.x86_64
mariadb-server-10.3.32-2.module+el8.5.0+777+18007c86.x86_64
mariadb-connector-c-config-3.1.11-2.el8_3.noarch
mariadb-errmsg-10.3.32-2.module+el8.5.0+777+18007c86.x86_64
mariadb-backup-10.3.32-2.module+el8.5.0+777+18007c86.x86_64


インストール作業は終了。

起動設定を行います。
//httpdの自動起動
# systemctl enable httpd

//php-fpmの自動起動
# systemctl enable php81-php-fpm

//MariaDBの自動起動
# systemctl enable mariadb

//サーバーを再起動させます(僕のルーティーン)
# shutdown -r now

//起動確認
# systemctl status httpd
# systemctl status mariadb
# systemctl status php81-php-fpm



PHPの環境設定や設定ファイルの場所が入り組んでるのでシンボリックリンクを作成する
//phpコマンドが使えないので使えるように
# php
-bash: php: コマンドが見つかりません

# alternatives --install /usr/bin/php php /usr/bin/php81 1
# php -v
PHP 8.1.7 (cli) (built: Jun  7 2022 18:21:38) (NTS gcc x86_64)

//設定ファイルが/etcじゃなく/etc/opt/remi/php81にあるので
//シンボリックリンクを張る
# ln -s /etc/opt/remi/php81/php-fpm.conf /etc/php-fpm.conf
# ln -s /etc/opt/remi/php81/php-fpm.d /etc/php-fpm.d
# ln -s /etc/opt/remi/php81/php.ini /etc/php.ini

# ls -l /etc/php*
lrwxrwxrwx. 1 root root 32  6月 26 20:04 /etc/php-fpm.conf -> /etc/opt/remi/php81/php-fpm.conf
lrwxrwxrwx. 1 root root 29  6月 26 20:04 /etc/php-fpm.d -> /etc/opt/remi/php81/php-fpm.d
lrwxrwxrwx. 1 root root 27  6月 26 20:05 /etc/php.ini -> /etc/opt/remi/php81/php.ini



ファイアーウォールでhttpを許可してアクセステスト
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload



ローカルIPをブラウザに入力してアクセス
Apacheの画面が表示されました


DocumentRootにindex.phpを置き、phpinfo();を実行
Apache+PHPの連携は問題なし

あとは、時間をかけて設定ファイルをいじります。
RockyLinux8.6 システムログ(messages)がないぞ??
2022年06月26日18:48
ローカルサーバーが作業中にターミナルが落ちてしまった。

電源は付いてLANのランプも点滅してたのでしばらく待つことに
5分ぐらい経って接続したら繋がった

原因が突き止められるか分かんないけど、/var/log/messagesを眺めることにした


が、しかし。

/var/log/messagesがない。。

調べると、minimalインストールするとログを吐き出すrsyslogが入ってないらしい
(なんでや・・)

//rsyslogをインストール
# yum -y install rsyslog

# systemctl status rsyslog
● rsyslog.service - System Logging Service
   Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2022-06-26 18:40:08 JST; 4min 52s ago

//messagesのファイルの存在を確認
# ls /var/log/


ファイルが空の状態なので、一度再起動して確認すると、起動時のログもしっかり吐かれてました。

minimalだろうとシステムログは大事だと思うんだけど、
まだリリースから1年のディストリビューションと考えたら、
そういう事もあるよね~と可愛く思おうと思います。

他のディストリビューションがどうかは知らないけど、messagesログがない状況をこれまで知らない。
RockyLinux8.6でRemiリポジトリを使えるようにする
2022年06月26日17:58
RockyLinux8.6をローカルマシンにミニマルインストールしたので、

昔から愛用してるリポジトリ『Remi』を使えるようにする

基本的に新しいPHPを入れたい時に使ってます。
ソースインストール嫌いなphperなので必須リポとなります。

※yumコマンドが好きなので使ってますが、dnfコマンドでも同じです。

//remiを入れるのにepel-releaseが必要なのでインストール
# yum -y install epel-release

//remiをインストール
# yum -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

//リポジトリの設定ファイルは/etc/yum.repos.d/にあり無効にしたりもできますが
//epelも使う事があるので今回は設定せずにそのまま利用します
//念のためremi-safeが有効かだけ確認します
vi /etc/yum.repos.d/remi-safe.repo
-------------
| enabled=1
-------------

//リストを表示確認
# yum list
※何度かGPG鍵の確認があるので y で進めremiリポジトリのリストも表示されたらOK


とりあえずこれで使えるようになりました