
裝 Adminer 很簡單,它只是一個 php 檔案,抓回來放到 web server 目錄下就好:
> cd /usr/share/nginx/html/
> wget https://www.adminer.org/latest.php
> mv latest.php adminer.php
可是事情果然沒那麼簡單!這樣跑下去它會報錯,找不到 PHP 連接 MariaDB 的庫。
又再次因為我是裝 CentOS Software Collections 的 PHP,所以額外的套件也都要裝 SCL 提供的,把必要的套件裝起來:
> sudo yum install rh-php72-php-mysqlnd
還沒完,/var/opt/rh/rh-php72/lib/php/ 這個地方裡面的子目錄,群組都被設成 apache,可是因為我是用 nginx,要把群組改成 nginx 才可讓 nginx 有能力寫入這些子目錄。
以上做完當然試開一下瀏覽器看看 Adminer 有沒有正常跑起來。

因為本人的某種對新版的偏執的愛好,就是想用 Python 3,可是卻又找不到 python3-pip 這個包,故有以下解。
裝 Python 3:
> sudo yum install python
然後參考一下 Recommended way to install pip(3) on centos7 這篇:
> sudo python36 -m ensurepip
有興趣可以自己去調查一下 ensurepip
的由來。
這樣就有 pip 了!(撒花)
再用 pip 把它自己更新一下:
> sudo -H pip3 install --upgrade pip
開始裝 mycli:
> sudo -H pip3 install mycli
裝完試一下:
> mycli -u root
可以連入應該就是沒問題。

一樣因為 CentOS 自帶的 MariaDB 太舊,改用 CentOS Software Collections 提供的 MariaDB 10。
這篇參考〈How to Install and Configure a LEMP Stack using Software Collections on CentOS 7〉。
先安裝:
> sudo yum install rh-mariadb102
跑起來:
> sudo systemctl start rh-mariadb102-mariadb
讓這個 SCL 管理的 MariaDB 進入 path 內:
> source scl_source enable rh-mariadb102
執行安裝後組態設定,應該要用 root 權限跑,但不知為何跑不了,所以改先開一個 root shell 再跑。
> sudo bash
> source /opt/rh/rh-mariadb102/enable
> mysql_secure_installation
- 被問 root 密碼,在此指 DB 的 root,非 OS 的 root,目前沒有,就 Enter 過去。
- 設定 DB root 密碼。
- 關閉匿名帳號登入權限。
- 讓 root 只能從本機連線。
- 把 test 資料庫刪掉。
- 重載入權限表讓以上決定生效。
設定開機啟動 MariaDB:
> sudo systemctl enable rh-mariadb102-mariadb
照 SCL 慣例,設定擋在 /etc/opt/rh/rh-mariadb102/ 內、程式等等都在 /opt/rh/rh-mariadb102/ 內。
測試一下連線:
> mysql -u root -p
沒問題就這樣了。
最後一樣在 /etc/profile.d/ 建一支小 shell script 讓開機就自動把 SCL 的 mariadb 加到路徑內,方便執行 mysql:
# /bin/bashsource scl_source rh-mariadb102
後面大概再裝一下 phpMyAdmin 和 mycli 就差不多了。

因為我們是用 CentOS Software Collection 的 PHP 7,所以 PHP FPM 也要用 SCL 提供的。
主要是參考 〈CentOS 7 安裝 Nginx、MySQL / MariaDB、PHP7,架設 LEMP 網頁伺服器筆記〉。
先把 PHP FPM 裝起來:
> sudo yum install rh-php72-php-fpm
修改 /etc/opt/rh/rh-php72/php-fpm.d/www.conf,把 user、group 設定為 nginx:
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
;user = apache
user = nginx
; RPM: Keep a group allowed to write in log dir.
;group = apache
group = nginx
把 PHP FPM 跑起來:
> sudo systemctl start rh-php72-php-fpm
再把 PHP FPM 設為開機啟動服務:
> sudo systemctl enable rh-php72-php-fpm
下一篇來研究 nginx * PHP FPM 的作法。

參考 CentOS wiki 文章〈Using PHP 7.x on CentOS 7.4〉的前半部份。
預設的軟體庫只有 PHP 5,要啟用 CentOS Software Collections 這個庫才會有 PHP 7。
設定 Software Collections 庫:
> sudo yum install centos-release-scl
然後就可以裝 PHP 7 了:
> sudo yum install rh-php72
一些有依賴到的套件也都會一併裝上。
裝上是裝上,是裝到那去呢?看這篇:〈What Files Are In a RPM Package?〉。
路徑在 /opt/rh/rh-php72/ 內。用 scl 把 PHP 啟用:
> sudo scl enable rh-php72 bash
這樣會執行一個新的 bash session,並且把那 PHP 7 引入 path 內,可是重開機就失效了…。
再參考一下〈PHP 7.0 or 7.1 on RHEL or CentOS〉這篇的作法,在 /etc/profile.d/rh-php72.sh 建一個小 shell script 讓它在登入時自動執行,把那 PHP 7 自動加入 path 內:
#!/bin/bash
source scl_source enable rh-php72
把這支 script 設為可執行以便日後手動使用:
> sudo chmod a+x /etc/profile.d/scl.sh
設定 nginx * PHP 見下篇。

CentOS 是選用 CentOS 7.4 Minimal with Webmin (HVM),它已經幫我們設定好一些常用的 CentOS EPEL。 ❤
抄一下這篇〈於CentOS7安裝 Nginx + php7 + php-fpm + Laravel5.6〉。
裝下去:
> sudo yum install nginx
設定開機執行 NGINX:
> sudo systemctl enable nginx
啟動 NGINX:
> sudo systemctl start nginx
systemctl
指令的解說可以讀一下 Arch Linux 的主題文章。
以上做完,試開一下應該就可以看到 Welcome to nginx 的頁面了。注意到這個頁面檔案放在 /usr/share/nginx/html/。

Odoo 是企業用的商業套件,主要是 ERP,不過除了庫存、帳務控制外,也包了很多很多的模組,也可以自行擴展,又是 open source 的。
利用這段長假花點時間開始研究研究。從安裝開始,安裝主要是參考官方文件 Installing Odoo,採用 DEB 的模式安裝。
Odoo 需要搭配 PostgreSQL 使用,先把 PostgreSQL 裝起來:
> sudo apt install postgresql
輸出 PDF 則是靠 wkhtmltopd,也裝起來:
> sudo apt install wkhtmltopdf
開始加 Odoo APT repository:
> wget -O - https://nightly.odoo.com/odoo.key | sudo apt-key add -> echo "deb http://nightly.odoo.com/12.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list> sudo apt update
> sudo apt install odoo
以上跑完,確認一下服務有沒有跑起來:
> sudo service --status-all
應該會看到 [ + ] odoo
和 [ + ] postgresql
。
註記一下安裝多了或動了哪些檔案或目錄:
- /etc/init.d/odoo
- /etc/logrotate.d/odoo
- /etc/odoo
- /lib/systemd/system/odoo.service
- /usr/bin/odoo
- /usr/lib/python3/dist-packages/odoo
- /usr/share/doc/odoo
瀏覽器開到 http://localhost:8069 就可以看到初次啟動的設定頁面了,自由發揮填一下,等它跑完就會自動進入主畫面,安裝完畢。