Linux安装Apache+MySQL+PHP
安装部分依赖
安装apr(可选)
# tar -xf apr-1.5.0.tar.bz2
# cd apr-1.5.0
#./configure --prefix=/usr/local/apr //指定其安装位置
# make && make install
安装apr-util
# tar -xf apr-util-1.5.3.tar.bz2
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
安装pcre(可选)
# tar -xf pcre-8.35.tar.gz
# cd pcre-8.35
# ./configure --prefix=/usr/local/pcre
# make && make install
编译安装apache
# tar -xf httpd2.4.9.tar.gz
# cd <span style="font-family: Arial, Helvetica, sans-serif;">httpd2.4.9</span>
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most
# make && make install
编译过程中如果缺少其他依赖,可单独安装即可,安装过程如上面apr安装。
如果提示apr相关错误,将编译语句中--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util 参数去掉即可,因为Apache默认包含了自己的apr相关东西。
启动http
/usr/local/apache/bin/apachectl start
浏览器输入http://IP/即可看到 It Works!将apache加入service服务。
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
此时可通过service httpd start/stop启动关闭http服务
编译安装MySQL
MySQL编译安装过程见此处http://blog.youkuaiyun.com/zqtsx/article/details/9378703,这里不再描述。
下载mysql源码:http://dev.mysql.com/downloads/mysql/,或者可到此处下载5.6.19版本:http://www.kuaipan.cn/file/id_671818784440506.htm?
准备开始安装
groupadd mysql
useradd -r -g mysql mysql
解压并安装:
tar zxvf mysql-5.6.12.tar.gz
cd mysql-5.6.12 (以下是一行 这里为了方便大家理解和注释写成换行注释,实际编译中请在换行前 加 " \ "链接)cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
-DSYSCONFDIR=/etc \ #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
-DWITH_READLINE=1 \ #快捷键功能(我没用过)
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
-DMYSQL_TCP_PORT=3306 \ #端口
-DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
-DEXTRA_CHARSETS=all \ #安装所有的字符集
-DDEFAULT_CHARSET=utf8 \ #默认字符
-DDEFAULT_COLLATION=utf8_general_ci
make
make install
编译安装完成后,继续执行如下操作:
cd /usr/local/mysql
chown -R mysql:mysql . (为了安全安装完成后请修改权限给root用户)
scripts/mysql_install_db --user=mysql (先进行这一步再做如下权限的修改)
chown -R root:mysql . (将权限设置给root用户,并设置给mysql组, 取消其他用户的读写执行权限,仅留给mysql "rx"读执行权限,其他用户无任何权限)
chown -R mysql:mysql ./data (给数据库存放目录设置成mysql用户mysql组,并赋予chmod -R ug+rwx 读写执行权限,其他用户权限一律删除仅给mysql用户权限)
将mysql的启动服务添加到系统服务中
cp support-files/mysql.server /etc/init.d/mysql
#现在可以使用下面的命令启动mysql
service mysql start
#停止mysql服务
service mysql stop
#重启mysql服务
service mysql restart
修改密码 cd 切换到mysql所在目录
cd /usr/local/mysql
#./bin/mysqladmin -u root password
回车在接下来的提示中设置新密码即可。
#测试MySQL是否启动
# 1)查看是否有进程mysql
ps -ef | grep mysql
# 2)查看端口是否运行
netstat -tnl | grep 3306
# 3)读取mysql版本信息
mysqladmin version
# 1)查看是否有进程mysql
ps -ef | grep mysql
# 2)查看端口是否运行
netstat -tnl | grep 3306
# 3)读取mysql版本信息
mysqladmin version
附:安装mysql过程中可能出现类似如下错误:
The server quit without updating PID f[失败]var/lib/mysql/
很可能是本机之前已经安装过mysql导致,用rpm查看本机是否安装mysql,如果有的话需要卸载掉,然后重新按照上面的步骤编译安装mysql即可。
编译安装PHP
# tar -xf php-5.5.12.tar.gz
# cd php-5.5.12
# ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache/bin/apxs --enable-fastcgi --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --disable-debug --disable-ipv6 --with-iconv-dir --with-freetype-dir --with-jpeg-dir=/usr/local/jpeg --with-zlib --with-libxml-dir=/usr/local/libxml2 --enable-xml=/usr/local/libxml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl=/usr/local/curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap
# make && make install
编译过程中如果缺少其他依赖,可单独安装即可,安装过程如上面apr安装。
拷贝配置文件到php目录:
# cp php.ini-production /usr/local/php5/etc/php.ini
PHP与Apache整合
编辑apache配置文件httpd.conf,以apache支持php:
首先要在apache配置文件中定义,使apache能够处理php结尾的文件 ,全文查找AddType字段,添加一下内容
[root@Spg-RedHat htdocs]# vi /usr/local/apache/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
找到DirectoryIndex,添加index.php:
DirectoryIndex index.php index.html
<Directory /data/bbs/admin>
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
添加测试页面:
[root@Spg-RedHat htdocs]# vim /usr/local/apache/htdocs/index.php
编辑加入:
<?
phpinfo();
?>
重启http:
service httpd stop
service httpd start
测试结果:
至此,PHP安装成功;
集成xcache(可选)
安装:
# tar xf xcache-3.0.3.tar.gz
# cd xcache-3.0.3
# /usr/local/php5/bin/phpize
//phpize是用来安装php扩展模块的,通过phpize可以建立php的外挂模块,若你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,就需要使用phpize
# ./configure --enable=xcache --with-php-config=/usr/local/php5/bin/php-config
[root@Spg-RedHat xcache-3.1.0]#make && make install
Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-zts-20121212/
集成:修改php.ini文件,加入如下内容:
[root@Spg-RedHat xcache-3.1.0]# vim /usr/local/php5/etc/php.ini
[xcache-common]
extension = <span style="white-space: nowrap; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">/usr/local/php5/lib/php/extensions/no-debug-zts-20121212</span><span style="white-space: nowrap; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">/xcache.so</span>
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "admin"
xcache.admin.pass = "6a0194f9707fa832ece6f5b66a25567e"
#echo -n "youp-assword" |md5sum |awk '{print $1}'
[xcache]
xcache.shm_scheme = "mmap"
xcache.size = 128M
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 0M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = "/dev/zero"
xcache.coredump_directory = ""
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off
[xcache.coverager]
xcache.coverager = Off
xcache.coveragedump_directory = ""
pass自行生成,为明文MD5加密结果。
网上也有通过将xcache.ini文件拷贝到/etc/php.d/目录下进行集成的方法,但是我尝试未成功。有兴趣可自行尝试。
再重启Apache,在phpinfo页面即可看到xcache相关配置,如下图所示:
结束:没接触过php,首次安装php,痛苦的过程。