Joomla 與 WordPress 都是知名的內容管理系統(Content Management System, 簡稱 CMS),能夠快速生成網頁內容,提供多用戶共同管理。Joomla 是開源的軟體,可讓您輕鬆發布 Web 內容,除了有專業級別的模版外,還可以設定最佳化網路搜尋 SEO (Search Engine Optimization),這點是比 WordPress 方便許多。
在 Raspberry Pi 安裝 Joomla 的過程蠻簡單的,因為它是基於 PHP 建構的,後端資料庫可使用 MariaDB,Web Server 則安裝容易管理的 Nginx。以下是我將 Nginx、PHP 和 MySQL 安裝到 Pi 4上的步驟與過程。安裝之前,先更新系統:
使用 root 登入 MariaDB,這時會出現輸入密碼的畫面,需輸入在建立 MariaDB 時的密碼。
按下「設定登入資訊」後,繼續填寫登入者的資料,包括名稱、密碼及 Email。
按下「設定資料庫連線」後,選擇與資料庫連線的類型(MySQLi)、主機(localhost)、帳號(joomlausr)、密碼及Joomla資料庫名稱(joomladb)等資訊。
按下「安裝Joomla >」後,開始進行安裝,稍後一下出現以下畫面,表示安裝完成。
如果按下「網站安裝完成 & 開啟網站首頁」,會出現以下畫面:
當按下「網站安裝完成 & 開啟網站後台」,會出現以下登入管理者畫面,或是在瀏覽器輸入以下網址:
如要上傳大圖像時,POST檔案的大小僅 8MB,可以調整為 64MB,如果不夠還可以再調大些:
將上傳文件的大小從 2MB 調整為 64MB,如果不夠還可以再調大些:
到這裡就全部安裝設定完成,接著要做的是充實站台內容,再由各位自行參考文件。
Photo by Alvaro Reyes on Unsplash
在 Raspberry Pi 安裝 Joomla 的過程蠻簡單的,因為它是基於 PHP 建構的,後端資料庫可使用 MariaDB,Web Server 則安裝容易管理的 Nginx。以下是我將 Nginx、PHP 和 MySQL 安裝到 Pi 4上的步驟與過程。安裝之前,先更新系統:
$ sudo apt update $ sudo apt upgrade
[安裝Nginx]
Nginx 近幾年變的非常熱門,與 Apache 成為 web server 的兩大主流。Nginx 是一個免費的開源 Web Server,也可以作為反向代理、Http Cache、負載平衡器。安裝的方法很簡單,為了避免與 Apache 使用到相同的 80 Port,安裝前,建議先執行以下指令將 Apache 移除。$ sudo apt remove apache2執行以下指令安裝 Nginx:
$ sudo apt install nginx安裝完成後,啟動 Nginx 服務:
$ sudo systemctl start nginx查閱目前主機的IP,稍後要使用瀏覽器測試服務是否正常。
$ hostname -I知道 IP 後,使用瀏覽器,輸入 http://ip_address,以我的樹莓派 IP 為例,輸入 http://192.168.0.108 即可。如果出現以下畫面,就表示安裝成功了。
[安裝PHP]
由於 Joomla 使用 PHP 語言,因此還要安裝 PHP 才能使用,執行以下指令進行安裝:$ sudo apt install php7.4-fpm php7.4-mbstring php7.4-mysql php7.4-curl php7.4-gd php7.4-curl php7.4-zip php7.4-xml -y安裝完成後,測試一下 PHP 是否正確安裝,修改設定啟動文件。
$ sudo nano /etc/nginx/sites-enabled/default找到以下這行:
index index.html index.htm;加上 index.php 在這行 index 的後面,讓 Nginx 讀取首頁時,將 index.php 當作是預設首頁。
index index.php index.html index.htm;再按下 CTRL + X ,然後 Y 再按 ENTER 儲存後離開文字編輯器。重新啟動並載入 nginx 服務:
$ sudo systemctl reload nginx編輯首頁 index.php,顯示 PHP 相關的系統資訊。
$ sudo nano /var/www/html/index.php將內容貼上以下這行,再按下 CTRL + X ,然後 Y 再按 ENTER 鍵存檔並離開。 如果出現下圖,就表示安裝成功了。
<?php phpinfo(); ?>
[在Nginx建立Joomla虛擬機環境]
安裝好Nginx後,就可以開始設定Joomla的環境,先在 Nginx 建立虛擬網站,並新增一個 joomla.conf 檔案。$ sudo nano /etc/nginx/sites-available/joomla.conf將以下內容貼在 joomla.conf 檔案內。
server { listen 80; listen [::]:80; root /var/www/joomla; index index.php index.html index.htm; server_name _; client_max_body_size 100M; autoindex off; location / { try_files $uri $uri/ /index.php?$args; } # deny running scripts inside writable directories location ~* /(images|cache|media|logs|tmp)/.*.(php|pl|py|jsp|asp|sh|cgi)$ { return 403; error_page 403 /403_error.html; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # caching of files location ~* \.(ico|pdf|flv)$ { expires 1y; } location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ { expires 14d; } }按下 CTRL + X ,然後 Y 再按 ENTER 鍵儲存後離開文字編輯器。 並使用以下指令建立檔案的連結。
$ sudo ln -s /etc/nginx/sites-available/joomla.conf /etc/nginx/sites-enabled/joomla.conf如果您不將其與其他網域名稱一起使用,可從「sites-enabled」目錄中刪除「default」虛擬主機設定檔。
$ sudo rm /etc/nginx/sites-enabled/default重新啟動 Nginx 服務。
$ sudo systemctl reload nginx
[安裝MariaDB及環境設定]
joomla 4.x 版支援的資料庫有 MySQL 及 PostgreSQL,而 MariaDB 與 MySQL 相容,這裡我們就用開源的 MariaDB 當作 joomla 的資料庫,安裝的方法,可參考我的另一篇部落格文章:Raspberry Pi 筆記(61):安裝MySQL(MariaDB)資料庫及管理工具Adminer 。使用 root 登入 MariaDB,這時會出現輸入密碼的畫面,需輸入在建立 MariaDB 時的密碼。
$ sudo mysql -u root -p登入後,使用以下指令建立 joomla 資料庫。
MariaDB [(none)]> CREATE DATABASE joomladb;建立 joomla 使用者,名為 joomlausr。
MariaDB [(none)]> CREATE USER 'joomlausr'@'localhost' IDENTIFIED BY '[PASSWORD]';將 joomladb 資料庫權限授與使用者 joomlausr。
MariaDB [(none)]> GRANT ALL PRIVILEGES ON joomladb.* TO 'joomlausr'@'localhost';將記憶體內的資料寫入資料庫。
MariaDB [(none)]> FLUSH PRIVILEGES;離開 MariaDB。
MariaDB [(none)]> quit;
[下載安裝joomla]
joomla下載的檔案,解壓縮後直接放到 Nginx 虛擬站台的目錄即可,首先先建立存放檔案的目錄,並切換目錄至 /var/www/joomla 路徑下。$ sudo mkdir -p /var/www/joomla $ cd /var/www/joomla目前 joomla 官網最新的版本是 4.1.0,您可以到 官方下載網站 查看最新的版本。如果不知道如何取得檔案名稱,可以到以下網頁,找到 .gz 的下載點,按右鍵,複製連結,即可使用 wget 進行下載:
$ sudo wget https://downloads.joomla.org/cms/joomla4/4-1-0/Joomla_4-1-0-Stable-Full_Package.tar.gz對下載的檔案解壓縮:
$ sudo tar -xvf Joomla_4-1-0-Stable-Full_Package.tar.gz解壓縮成功後,刪除剛剛下載的壓縮檔:
$ sudo rm Joomla_4-1-0-Stable-Full_Package.tar.gzjoomla 目錄及其內容需要有「www-data」用戶和群組權限,因為 PHP 會讀取該目錄內的程式,我們可以使用「chown」命令來更正這些權限。
$ sudo chown -R www-data:www-data /var/www/joomla*到這裡就已經完成 Joomla 的安裝了,接著就要進入 Joomla 進行初次設定。
[初次設定joomla]
使用瀏覽器,輸入 http://ip_address,以我的IP為例,輸入 http://192.168.0.108 即可。如果出現以下畫面,就表示安裝成功了。接著輸入使用語言及站台名稱。按下「設定登入資訊」後,繼續填寫登入者的資料,包括名稱、密碼及 Email。
按下「設定資料庫連線」後,選擇與資料庫連線的類型(MySQLi)、主機(localhost)、帳號(joomlausr)、密碼及Joomla資料庫名稱(joomladb)等資訊。
按下「安裝Joomla >」後,開始進行安裝,稍後一下出現以下畫面,表示安裝完成。
如果按下「網站安裝完成 & 開啟網站首頁」,會出現以下畫面:
當按下「網站安裝完成 & 開啟網站後台」,會出現以下登入管理者畫面,或是在瀏覽器輸入以下網址:
http://192.168.0.108/administrator/輸入帳號密碼後,就可以看到管理站台的畫面:
[為Joomla設定PHP參數]
以下是調整 PHP 的參數,包括設定緩衝及調整上傳檔案大小等,讓使用 Joomla 的感受更好些。執行文字編輯器開啟 php.ini設定檔:$ sudo nano /etc/php/7.4/fpm/php.ini找到以下這行,將 4096 改為 off:
output_buffering = 4096更改成以下這行,禁用輸出緩衝:
output_buffering = Off
如要上傳大圖像時,POST檔案的大小僅 8MB,可以調整為 64MB,如果不夠還可以再調大些:
post_max_size = 8M更改成以下這行:
post_max_size = 64M
將上傳文件的大小從 2MB 調整為 64MB,如果不夠還可以再調大些:
upload_max_filesize = 2M更改成以下這行:
upload_max_filesize = 64M編輯結束,按下 CTRL + X ,然後 Y 再按 ENTER 鍵存檔並離開。
到這裡就全部安裝設定完成,接著要做的是充實站台內容,再由各位自行參考文件。
張貼留言