| 組件 | 版本 | 源碼包 |
|---|---|---|
| Apache | 2.4.4 | httpd-2.4.4.tar.bz2 |
| APR | 1.4.6 | apr-1.4.6.tar.gz |
| APR-util | 1.5.1 | apr-util-1.5.1.tar.gz |
| MySQL | 5.6.10 | mysql-5.6.10.tar.gz |
| CMake | 2.8.10.2 | cmake-2.8.10.2.tar.gz |
| PHP | 5.4.3 | php-5.4.3.tar.gz |
| WordPress | 3.5.1 | wordpress-3.5.1-zh_CN.tar.gz |
# APR tar xf apr-1.4.6.tar.gz cd apr-1.4.6 ./configure --prefix=/usr/local/apr make && make install # APR-util tar xf apr-util-1.5.1.tar.gz cd apr-util-1.5.1 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install
tar xf httpd-2.4.4.tar.bz2 cd httpd-2.4.4 ./configure \ --prefix=/usr/local/apache2 \ --with-apr=/usr/local/apr \ --with-apr-util=/usr/local/apr-util \ --enable-so \ --enable-rewrite \ --enable-ssl \ --enable-mods-shared=most make && make install
tar xf cmake-2.8.10.2.tar.gz cd cmake-2.8.10.2 ./bootstrap --prefix=/usr/local/cmake make && make install
# 創建用戶 groupadd mysql useradd -r -g mysql -s /sbin/nologin mysql tar xf mysql-5.6.10.tar.gz cd mysql-5.6.10 cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 make && make install # 初始化 cd /usr/local/mysql scripts/mysql_install_db --user=mysql --datadir=/data/mysql chown -R mysql:mysql /data/mysql cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld
tar xf php-5.4.3.tar.gz cd php-5.4.3 ./configure \ --prefix=/usr/local/php \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-mysql=/usr/local/mysql \ --with-mysqli=/usr/local/mysql/bin/mysql_config \ --with-pdo-mysql=/usr/local/mysql \ --with-config-file-path=/usr/local/php/etc \ --with-zlib \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir \ --enable-mbstring \ --enable-sockets \ --enable-bcmath \ --enable-opcache make && make install # 複製配置 cp php.ini-production /usr/local/php/etc/php.ini
# /usr/local/apache2/conf/httpd.conf # 1. 載入 PHP 模塊(編譯時 --with-apxs2 已自動添加) LoadModule php5_module modules/libphp5.so # 2. 識別 .php 文件SetHandler application/x-httpd-php # 3. 默認首頁 DirectoryIndex index.php index.html # 4. 重啟 /usr/local/apache2/bin/apachectl restart
/usr/local/mysql/bin/mysql -u root -p CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'wp_pass123'; GRANT ALL ON wordpress.* TO 'wp_user'@'localhost'; FLUSH PRIVILEGES;
tar xf wordpress-3.5.1-zh_CN.tar.gz mv wordpress /usr/local/apache2/htdocs/wp chown -R apache:apache /usr/local/apache2/htdocs/wp # 配置 wp-config.php cp /usr/local/apache2/htdocs/wp/wp-config-sample.php /usr/local/apache2/htdocs/wp/wp-config.php # 修改 DB_NAME, DB_USER, DB_PASSWORD, DB_HOST # 瀏覽器訪問 https://server-ip/wp 完成安裝向導
| 錯誤現象 | 原因 | 解決 |
|---|---|---|
| configure: error: APR not found | 未安裝 APR 或路徑錯誤 | 先裝 APR,指定 --with-apr |
| MySQL cmake 失敗 | 缺少 ncurses-devel | yum install ncurses-devel |
| PHP: libmysqlclient not found | MySQL 未安裝或路徑錯 | 指定 --with-mysql=/usr/local/mysql |
| Apache 啟動報錯 libphp5.so | PHP 編譯未關聯 apxs2 | 重新編譯 PHP 加 --with-apxs2 |
生產環境強烈建議使用:
docker-compose up -d 一鍵啟動 LAMPdnf install httpd mariadb-server php php-mysqlnd(RHEL 8/9)源碼編譯適合學習原理、特殊定製需求,標準化部署請用現代工具鏈。