*当サイトのリンクにはAmazonアソシエイトやアフィリエイトリンクが含まれております。

Almalinux 9 に Apache と PHP を入れてWEBアプリをセットアップ

私、いつの頃からかUbuntu派になっているのですが、
今回はクライアントの希望でAlmalinuxを使う事になりました。

思えば、CentOSの終了のNEW以降、Ubuntuに乗り換えて
それ以来RHEL系は触ってなかったかも知れません。
そんなワケで久々過ぎるので備忘録を残す。

広告

アップデートとアップグレード


dnf -y update

dnf -y upgrade

Apacheのインスト


dnf -y install httpd

systemctl start httpd
systemctl enable httpd  #登録

PHPとかその他


dnf -y install php php-{json,gd,curl,mbstring,intl,zip,gd,dom,xml}

systemctl restart httpd

#忘れたヤツ追加
dnf -y install curl php-cli unzip
dnf -y install nano

GITのインスト


dnf -y install git

git --version
git version 2.43.5

which git
/usr/bin/git

#クローンを作る
cd /var/www
git clone https://github.com/*****

chown -hR apache:apache /var/www/hogesys
chmod 775 -R /var/www/hogesys

httpd.confの設定

今回は www/html ではないディレクトリを使っているのでhttpd.confの設定。


nano /etc/httpd/conf/httpd.conf

systemctl restart httpd

mkcert で自己証明書

WEBアプリでSSLが必須な箇所がある為、mkcertで自己証明書を入れます。
GOが必要なんですね。
Ubuntuだと apt で入るんですが・・・


dnf -y install mod_ssl
dnf -y install golang
dnf -y install nss-tools

mkdir work
cd work/

git clone https://github.com/FiloSottile/mkcert && cd mkcert

go build -ldflags "-X main.Version=$(git describe --tags)"

ここからがmkcertの動作


./mkcert   #コマンド確認

./mkcert -install
./mkcert ipadress.toka  #← これはその時の状況で
:
Created a new certificate valid for the following names 📜
 - "ipadress.toka"

The certificate is at "./ipadress.toka.pem" and the key at "./ipadress.toka-key.pem" ✅

It will expire on 5 March 2027 🗓
:

#証明書の拡張子を変えないとエラーしたので変えました
mv ipadress.toka.pem /etc/pki/tls/certs/ipadress-toka.crt
mv ipadress.toka.pem /etc/pki/tls/private/ipadress-toka-key.key

最後にssl.conf を設定します。


nano /etc/httpd/conf.d/ssl.conf

:
DocumentRoot "/var/www/hogehoge"
ServerName ipadress.toka:443

SSLCertificateFile /etc/pki/tls/certs/ipadress-toka.crt
SSLCertificateKeyFile /etc/pki/tls/private/ipadress-toka-key.key
:

#リスタートしたらServerName設定しろって怒られたので設定

nano /etc/httpd/conf/httpd.conf
:
ServerName ipadress.toka:80
:

systemctl restart httpd

そして以下のrootCA.pemを落としてPCにインストして使う。
その際拡張子はcrtに変更してください。


ls -l /root/.local/share/mkcert
-r--------. 1 root root 2484 Dec  5 12:17 rootCA-key.pem
-rw-r--r--. 1 root root 1663 Dec  5 12:17 rootCA.pem

mb_convert_encoding が動かない

初期は無効なの?
という事で設定。


nano /etc/php.ini

#コメント外して変更
:
zend.multibyte = On
zend.script_encoding = UTF-8
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
:

SELinuxポリシーの無効化

どうしても動かない部分があってとりあえず無効化。
あとでもっと試そう。


grubby --update-kernel ALL --args selinux=0

samba インスト

クライアントの希望でWINから対象のフォルダ入りたいとの事で


dnf -y install samba 

nano /etc/samba/smb.conf

:
        unix charset = UTF-8
        dos charset = CP932 

[hogesys_log]
   path = /var/www/hogesys/hogesys_log
   available = yes
   valid users = alma
   read only = yes
   browsable = yes
   public = yes
   #writable = yes

[hogesys_log_bk]
   path = /var/www/hogesys/hogesys_log_bk
   available = yes
   valid users = alma
   read only = yes
   browsable = yes
   public = yes
   #writable = yes
:

#パスワード設定
smbpasswd -a alma

systemctl enable smb
systemctl restart smb

cronの設定


# crontab -e

:
0 0 16 * * hogehoge.sh
:

systemctl restart crond
systemctl enable crond
systemctl status crond

こんな感じでした。
今回はDB無しです。

しかしながら・・ やっぱりUbuntuが好き。
ラズパイもDebian系だし。


おすすめのコンテンツ

広告

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください