您的位置:首页 > 运维架构 > Linux

linux编译安装LAMP

2016-03-27 14:54 274 查看

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编译安装过程见此处/article/1351813.html,这里不再描写叙述。
下载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                  \               #port
-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


改动默认root账户password。默认password为空

改动password cd 切换到mysql所在文件夹

cd /usr/local/mysql

#./bin/mysqladmin -u root password

回车在接下来的提示中设置新password就可以。

#測试MySQL是否启动

# 1)查看是否有进程mysql

ps -ef | grep mysql

# 2)查看port是否执行

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 = ""


注意:当中的extension值“/usr/local/php5/lib/php/extensions/no-debug-zts-20121212/”为前面make install的结果。

pass自行生成,为明文MD5加密结果。
网上也有通过将xcache.ini文件复制到/etc/php.d/文件夹下进行集成的方法,可是我尝试未成功。有兴趣可自行尝试。
再重新启动Apache。在phpinfo页面就可以看到xcache相关配置。例如以下图所看到的:



结束:没接触过php,首次安装php,痛苦的过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: