Linux – CentOS – 安裝 XAMPP

下載 XAMPP

*因為須要安裝的權限較高,可使用指令 sudo 或直接使用 root 操作。所以若使用 root 身分,就不需要在打 sudo 的指令,後續不贅述。

1.我是從這裡找
1

 

 

 

2.按一下這裡
2

3. 選擇 XAMPP Linux
3

4. 找最新版本,如 5.6.14 (這剛好對應PHP的版本),點進去
4

 

5.一律取消自動跳出視窗的下載,因為我要找網址。找到 direct link 連結後檢視標籤元素,可以看到實際網址。這就是我們要的。
5

6.
使用 wget 下載。附檔名『.run』後面的問號參數文字可以去掉。變成以下

安裝 XAMPP

參考官網

先更改權限

執行安裝檔

請把上方的 * 更改為你下載的版本。例如你下載的版本是『xampp-linux-x64-5.6.14-0-installer.run』那就將 * 替換為 『x64-5.6.14-0』。

XAMPP 安裝完成

Linux 的 XAMPP 位置在 『/opt/lampp』。會發現安裝的是『Apache + MariaDB + PHP + Perl』,為什麼不是 MySQL 呢?參考 官方說明 ,從 xampp 的 5.5.30版與5.6.14版之後就將 MariaDB 替代 MySQL。MariaDB 完全相容 MySQL,因為是由 MySQL 創始人主導開發。詳細說明可參考 維基百科 。

啟動XAMPP

要注意在 linux 中 xampp 的名稱叫做 lampp 喔!剛灌好會自動幫你啟動 Apache。手動操作如下

啟動

關閉

看狀態

成功啟動會看到這樣

擷取

 

跟目錄位置會在 /opt/lampp/htdocs 底下喔!

php – joomla! 在 linux 底下無論如何都無法寫入的權限問題

當我們在 CentOS 設定 Joomla! 路徑是 755 與擁有者/群組都是 apache 的時候,我們仍然無法安裝任何套件或語言,在 「System (系統) > System Information (系統資訊) > Folder Permissions (資料夾權限) 」仍然看到滿滿的 Unwritable (無法寫入)

我們可以檢查是不是預設的 SELinux 擋住了。下指令檢查 SELinux 當前狀態

  • Enforcing:SELinux 正在執行
  • Permissive:臨時關閉
  • Disabled:已經關閉

 

接著我們讓他暫時關閉,可以下指令

不用重新啟動伺服器,我們直接重新整理應該就能看到 可寫入 (Writable)。

但是暫時關閉當下次系統重起的時候,仍然會打開。若要永久關閉 SELinux 那接著要修改檔案

並修改參數

這樣重新啟動伺服器預設就會關閉囉!

 

參考

php – swoole 安裝

Swoole

PHP的異步、並行、高性能網絡通信引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務器,異步TCP/UDP網絡客戶端,異步MySQL,異步Redis,數據庫連接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查詢。 Swoole內置了Http/WebSocket服務器端/客戶端、Http2.0服務器端。

我在 Ubuntu 16 Command-Line 直接鍵入 phpize 出現

那就代表沒有安裝,我們先安裝它。用 aptitude 搜尋

  • 其中 php7.2-dev 可以更換成你的任何 7.x 版本

查看安裝好的 phpize 位置

 

安裝 swoole

方法一

建議可以使用 PHP 官方的 pecl 工具下載,先升級主機預設的 pecl

因為須要 php-devel 擴展,所以安裝或升級成屬於你的版本號。這是 centOS 範例

透過 pecl 安裝

以上若有發生錯誤,可以參考網友發生 phpize 錯誤的文章

方法二

可用 aptitude 安裝/確定以下工具,參考參考

  • cmake
  • gcc
  • autoconf
  • pcre
  • make

使用 git

複製後,依序指令

安裝好後,修改 php.ini 。注意 php.ini 有兩個

  • /etc/php/7.2/cli/php.ini <—- 務必修改它,因為 swoole 要從 command line 呼叫
  • /etc/php/7.2/apache2/php.ini <—- 也可修改它,若要從瀏覽器執行 swoole 就需要修改

參考官方說明

** 如果在 cli 底下運行出現 PHP Fatal error: Class ‘swoole_http_server’ not found 那就是改錯 php.ini 了。記得要改 /etc/php/7.2/cli/php.ini。

接著在 extension 的部分新加入 swoole.so,swoole.so 可以明確指定路徑,會在安裝好後的 modules 內

存檔後重啟 apache

檢查 swoole 是否出現在模組列表

並使用 phpinfo() 可以查看到 swoole 。

架設完畢後,我們可以寫簡單測試來看看是否正常運作

  1. php – swoole – 架設 websocket 簡單範例
  2. php – swoole – 架設 websocket 進階範例
  3. PHP – Swoole – HTTPS/SSL 啟用設定方式

VMware – Linux – 外部使用 FTP 傳送檔案到虛擬伺服器

例如我在 Windows 寫 PHP,存檔後會傳送到 VMware 的虛擬機 CentOs 的 Server (算是我的 Linux 測試環靜),存檔傳輸希望透過 FTP 傳送。

XAMPP 安裝的 FTP 套件是 ProFTPD,打開使用者的設定檔路徑『/opt/lampp/etc/proftpd.conf』,可以看到下面的內容

所以從設定檔得到 FTP 資訊是

  • host: 192.168.1.103:21 (IP 由虛擬機分配到的)
  • user: daemin
  • password: xampp

如果要讓使用者可以透過 FTP 修改檔案路徑權限,那就

參考關於 Limit 設定的官方說明

改好以後,我們確實可以從實體接透過 FTP 登入虛擬機的路徑 /opt/lampp/htdocs,但這時候不具有任何權限。所以我們要記得修改 /opt/lampp/htdocs 的權限。因為我是拿來自己連線 (架在 VMware 當作開發環境),所以帳號密碼我使用原本的,沒再做修改。但是,建議建立一個 FTP 專用的用戶,並指定該 FTP 使用者有一個專屬的家目錄。

建立使用者群組

建立使用者目錄、用戶、密碼

修改完記得重啟 ProFTPD,或是整個 xampp 重啟也可以。

註解 1 ) 如果要更換 ProFTPD 的密碼,有2種方式,一種是直接修改文件,如前往密碼產生器 http://www.kxs.net/support/htaccess_pw.html ,輸入預設帳號 daemon、自訂密碼,按下送出後會得到加密過後的密文,把它替換掉即可。第二種是裝好 XAMPP 時就先做 XAMPP 安全設定

VMware – 連線模式使用 Bridged,讓外面的實體主機連到虛擬主機

VM的網路連線,我們使用 Bridged 橋接。
擷取

查詢虛擬機分配到的 IP address,打指令

可以看到我的虛擬機的 IP 是 192.168.1.103,在虛擬機中打上 192.168.1.103 也是可以看到跟 http://localhost 一樣的頁面。
擷取

 

但因為我們希望 VMware 外面的實體機,在網址打上 192.168.1.103 也可以看到虛擬伺服器,但親自試過後會發現無法連接,這是因為被 Linux 防火牆擋住了。因為我是用在開發環靜,所以我直接關閉防火牆。

 

關閉 CentOs 7 防火牆

參考內部文章

接著我們在實體機重新整理,就可以看到虛擬主機的伺服器頁面囉!
擷取