記錄在 RedHat Linux 上從源碼編譯安裝 Apache、MySQL、PHP 並部署 WordPress 的完整流程,含關鍵配置細節與避坑指南。
groupadd mysql useradd -g mysql mysql -s /sbin/nologin
rpm -ivh MySQL-client-5.5.12-1.rhel5.i386.rpm rpm -ivh MySQL-server-5.5.12-1.rhel5.i386.rpm rpm -ivh MySQL-devel-5.5.12-1.rhel5.i386.rpm
預設路徑:/usr/share/mysql、數據目錄 /var/lib/mysql、配置 /etc/my.cnf。
/usr/bin/mysqladmin -u root password '123abc' /usr/bin/mysql -u root -p123abc -e "status"
mkdir /opt/msdata mysqladmin -u root -p shutdown mv /var/lib/mysql /opt/msdata/ cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
編輯 /etc/my.cnf:
[mysqld] socket = /opt/msdata/mysql/mysql.sock
修改啟動腳本 /etc/rc.d/init.d/mysql:datadir=/opt/msdata/mysql。
加入開機自啟:echo "/usr/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local
tar -zxvf httpd-2.2.19.tar.gz cd httpd-2.2.19 ./configure --prefix=/usr/local/apache \ --with-mysql=/usr/share/mysql \ --enable-module=so \ --enable-shared=max \ --enable-rewrite make && make install
關鍵參數:--enable-so 支援 DSO 動態模組、--enable-rewrite 啟用 URL 重寫。
啟動:/usr/local/apache/bin/apachectl start,瀏覽器訪問 https://IP 見到 "It's Works!" 即成功。
tar -zxvf php-5.3.6.tar.gz cd php-5.3.6 ./configure --prefix=/usr/local/php \ --with-mysqli=/usr/bin/mysql_config \ --with-mysql=/usr/include/mysql \ --with-apxs2=/usr/local/apache/bin/apxs \ --with-config-file-path=/usr/local/php/lib make && make install cp php.ini-production /usr/local/php/lib/php.ini
修改 php.ini:register_globals = On(視應用需求,生產環境建議 Off)。
編輯 /usr/local/apache/conf/httpd.conf:
LoadModule php5_module modules/libphp5.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.html index.php
重啟 Apache:/usr/local/apache/bin/apachectl restart。
tar -zxvf wordpress-3.1.2-zh_CN.tar.gz -C /usr/local/apache/htdocs/ chown -R apache:apache /usr/local/apache/htdocs/wordpress
建立資料庫、配置 wp-config.php,瀏覽器訪問完成安裝。
libaio 支援,缺失會啟動失敗。libmysqlclient 找不到,確認 --with-mysql 路徑指向 mysql_config 所在目錄。ServerName localhost:80。setenforce 0 或配置正確上下文。源碼編譯雖繁瑣,但能精確控制版本與功能模組,適合對穩定性、安全性有高要求的生產環境。
Linux 常用搜尋指令大全:find、locate、whereis、which、type
Linux 跨主機安全複製:scp 實戰指南與 SSH 金鑰免密進階技巧
Linux I/O 模型核心概念:同步/非同步與阻塞/非阻塞深度對比
Linux 驅動模型核心:driver_attach 設備匹配機制深度剖析
Linux 經典實用技巧八則:特殊檔名處理、Loadlin 直裝、X 死機急救、快速關機、rm -r、Tab 補全、滑鼠複製、Loadlin 批次啟動
Git 常用指令速查大全:倉庫操作、提交推送、分支管理、標籤、遠端同步