LAMP環境的搭建,即Linux、Apache、MySQL、PHP環境。
版本:linuxCentOS 6.6 、mysql5.5、apache 2.4.12、 php 5.5.5
操作系統:Centos6.6_64位最小化安裝的形式
1. mysql:
取得軟件包:搜狐鏡像站:mirrors.sohu.com
mysql:mysql-5.5.43-linux2.6-x86_64.tar.gz (已經編譯過的)
將軟件包放到linux系統下的/usr/local/src/目錄(默認源碼包放置)
# tar zxvf mysql-5.5.43-linux2.6-x86_64.tar.gz tar解壓文件
代碼:
# groupadd -g 3306 mysql //用戶組 # useradd -g mysql -u 3306 -M -s/sbin/nologin mysql //創建用戶mysql # id mysql //驗證 # mkdir -p /data/mysql/ //創建mysql數據庫目錄 # chown -R mysql:mysql /data/mysql // mysql對目錄要有寫權限 # ll -d /data/mysql/ # cp -r /mysql-5.5.15-linux2.6-i686 /usr/local/mysql/ //移動位置 // 注意:是否存在mysql目錄 # cd /usr/local/mysql // 開始初始化 mysql # chown -R mysql:mysql . //權限給予 # scripts/mysql_install_db --user=mysql--datadir=/data/mysql // scripts腳本初始化,用來生成mysql數據庫,存放表等源數據信息
錯誤提示:libaio.so.1缺少共享庫libaio.so.1
# yum list|grep libaio //查查看
# yum install libaio libaio-devel -y //yum安裝
再次初始化,ok ,也可echo $? 來查看是否成功
配置:
# cd support-files/
# cp my-medium.cnf /etc/my.cnf //複製配置文件模版
# vim /etc/my.cnf //修改配置文件
註釋掉以下三行,關於主從複製會用到,暫時關閉
# log-bin=mysql-bin 二進制日誌
# binlog_format=mixed
# server-id = 1
複製啓動腳本,並修改權限:
# cp ./mysql.server /etc/init.d/mysqld
# chmod755 /etc/init.d/mysqld
# vim /etc/init.d/mysqld #修改兩個dir:
basedir=/usr/local/mysql
datadir=/data/mysql
加入系統服務
# chkconfig --add /etc/init.d/mysqld
手動啓用
# /etc/init.d/mysqld start
Error:
/etc/my.cnf 配置文件檢查,文件名是否正確
# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!
查看服務
# chkconfig --list mysqld
mysqld 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
# netstat -lnp |grep 3306 //查看mysql 3306端口
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1728/mysqld
2. Apache阿帕奇
下載源碼包,解壓
# tar zxvf httpd-2.4.12.tar.gz
# cd httpd-2.4.12
配置環境:
安裝文檔:# vim INSTALL
./configure--prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so
--enable-mods-shared=most
選項:告訴編譯器將所有標準模塊都動態編譯爲DSO模塊。儘可能多的make DSO動態模塊
--enable-sodso動態模塊
希望在/apache2/modules/目錄裏有各種模塊,--enable-mods-shared=most --enable-so即可
(靜態模塊浪費內存)
APR errors:
① 解決apr 和apr-util not found問題——————>
APR和APR-UTIL的下載地址:http://apr.apache.org/download.cgi
# tar -zxvf apr-1.4.5.tar.gz
# ./configure --prefix=/usr/local/apr
# make
# make install
# tar -zxvf apr-util-1.3.12.tar.gz
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
#make
# make install
② apache 如果 ./configure仍提示APR-util not found,增加--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util;接下來可能出現下面這個錯誤
configure: error:pcre-config for libpcre not found. PCRE is required and available fromhttp://pcre.org/
#./configure –help |grep pcre
--with-pcre=PATH Use external PCRE library
下載地址:http://ftp.exim.llorien.org/pcre/
#unzip -o pcre-8.10.zip
#cd pcre-8.10
#./configure--prefix=/usr/local/pcre
可能缺少c、c++編譯器,yum安裝下 # yum install -y gcc gcc-c++
#make
#make install
繼續配置apache:
# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
成功
編譯安裝:
# make
# make install
#echo $? //每一步都可利用$?來確認是否成功
簡單apache 用法:
① httpd
# ./apache2/bin/httpd 核心文件
-t 檢測配置文件是否正常Syntax OK
-l 靜態加載了一些模塊
event.c 工作模式 2.2版本默認是prefork (一個父進程生成許多子進程)
./configure --help|less
指定工作模式:
-M所有加載的模塊列出
② 看apache 編譯選項,不知道已經安裝的阿帕奇配置文件
# cat ./apache2/build/config.nice
③ 啓動
./apache2/bin/apachectl start|stop|restart|(graceful不殺死進程加載配置文件)
腳本啓動
netstat -lnp|grep httpd
瀏覽器輸入linux網絡地址10.10.10.101
It works!
3. 安裝php
# tar zxvf php-5.5.5.tar.gz 解壓
配置
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
--with-apxs2=/usr/local/apache2/bin/apxs 阿帕奇自動配置工具 php結合apache
errors:
yum install -y libxml2 libxml2-devel
# yum install openssl-devel
# yum install -y bzip2-devel
GD庫沒有安裝
# yum install libjpeg libpng freetypelibjpeg-devel libpng-devel freetype-devel –y
# yum install -y libmcrypt libmcrypt-devel
編譯安裝:
make(真的久)
make install
複製php配置文件模版:
# cp/usr/local/src/php-5.5.5/php.ini-development /usr/local/php/etc/php.ini
php.ini-production 生產環境
php.ini-development 開發環境(測試)
# ./php/bin/php -i |grep -i conf \\驗證
Loaded Configuration File =>/usr/local/php/etc/php.ini
簡單php:
# ./php/bin/php -m 快速查看php加載了哪些模塊
gd驗證碼相關
缺少模塊—》擴展編譯安裝來解決
# ./php/bin/php -i 查看模塊 具體配置 路徑 編譯選項
4. 配置Apache結合php
vim/usr/local/apache2/conf/httpd.conf
①找到:
AddType application/x-gzip .gz .tgz
在該行下面添加:
AddType application/x-httpd-php .php 支持解析php文件
②找到:
< IfModule dir_module>
DirectoryIndex index.html
< /IfModule>
將該行改爲:
< IfModule dir_module>
DirectoryIndex index.html index.htm index.php
< /IfModule>
③找到:
#ServerName www.example.com:80
修改爲:
ServerName localhost:80
5. 測試解析php
vim /usr/local/apache2/htdocs/1.php
寫入:
< ?php
echo "php解析正常";
?>
保存後,繼續測試:
curl localhost/1.php
如果顯示的不是“php解析正常”
說明沒有成功;
解析不了:
1.
# /usr/local/apache2/bin/apachectl -M|grepphp 阿帕奇有沒加載php
php5_module (shared) //說明已經正確加載php
2.
vim /usr/local/apache2/conf/httpd.conf
AddTypeapplication/x-httpd-php .php
查看Apache配置文件有沒有支持php解析
重啓apache
Apache 。。。graceful
vim /usr/local/apache2/htdocs/1.php
<?php
phpinfo();
?>
//通過網頁的方式查看模塊