ubuntu下源码包方式安装apache+mysql+php
最近也是自己在忙一些环境的搭建问题,原来是windows下的环境配置,什么memcache xdebug等都已安装好;
相对来讲,Linux下的环境配置就不是那么熟悉了。通过一两天的努力,也是完成了初步内容,简单记录一下心得……
环境:ubuntu12.04
(当然以apt-get install 或者 aptitude 方式安装的话也可以,相对来说,比较简单)
步骤:
*.rpm 二进制软件包(已编译) 可以用 rpm -qa 查询到
tar.gz 源代码软件包(未编译) → 先编译成二进制,然后安装 用rpm -qa 查询不到,因为不是rpm安装方法,即二进制安装,若要卸载,直接删除文件夹即可
1、安装mysql
①rpm -qa |grep mysql
查询是否有安装mysql,如果安装,则卸载,重新安装
rpm -e mysql-server***** --nodeps
rpm -e mysql-4.1.12-3.RHEL4.1
nodeps强制卸载,因为有些软件有相连关系,加上此参数则不考虑相连关系
②tar -zxvf mysql-stand***.tar.gz
解压文件
③cp -vRp mysql-stand*** /usr/local/mysql
拷贝文件到 /usr/local/mysql 目录下
-v 显示进度
-R 复制文件夹
-p 保留文件原有属性
④cd /usr/local/mysql
groupadd mysql
useradd -g mysql mysql
⑤scripts/mysql_install_db --user=mysql
用mysql的用户身份执行命令,此命令作用是数据库信息的初始化
⑥设置文件权限
此时目录在 /usr/local/mysql下
chown -R root .
"."表示当前,作用是 设置当前目录下的所有文件的用户者改变成root
chown -R mysql data
把data文件夹下的所有文件的拥有者改成mysql
chgrp -R mysql .
设置当前目录下的所有文件的所属用户组为mysql
⑦bin/mysqld_safe --user=mysql &
以mysql身份启动mysql进程
& 的作用是后台启动进程,如果不加的话,鼠标离不开当前窗口,按下ctrl+C 没有反应
或者
在/usr/local/mysql目录下
cd support-files
./mysql.server start → 启动mysql
停止mysql的话 ./mysql.server stop → 没有restart命令
⑧cd /usr/local/mysql
bin/mysql -u root
以root登录mysql
注意:mysql安装成功后,root用户默认无密码,set password for root@'localhost'=password('密码'); 执行此语句后,root用户就有密码了
而且还有空用户和任意用户,可在 mysql数据库中的 user表中删除,然后flush privileges; → 刷新授权
mysql开机自启动
vi /etc/rc.d/rc.local
在上述文件中添加如下内容
/usr/local/mysql/bin/mysqld_safe --user=mysql &
netstat -natup 查看服务进程
kill 进程pid 杀死进程
kill -9 进程pid 强制杀死进程
ps 查看进程
如 ps -aux ps-a
2、安装apache(编译方式安装)
①查询是否安装过apache,并卸载
service httpd status 先查看httpd服务状态,有的话,先停止
rpm -qa |grep httpd 查询httpd软件包
rpm -e httpd --nodeps 卸载httpd软件包
②解压软件包
tar -zxvf httpd-2.0.tar.gz
③cd httpd-2.2.11
④进行编译
必须有gcc编译器
查看gcc rpm -qa |grep gcc
没有gcc编译器,可在添加卸载程序里 开发工具 中安装
configure 绿色可执行文件
./configure --prefix=/usr/local/apache --enable-so
安装位置 以共享模块的形式安装
⑤生成可执行文件
make 不加任何选项
⑥安装
make install 不加任何选项
⑦进入目录,启动apache服务
cd /usr/local/apache
bin/apachectl start
或者
bin/httpd start
⑧测试
在浏览器里输入 http://localhost
httpd开机自启动
vi /etc/rc.d/rc.local
在上述文件中添加如下内容
/usr/local/apache/bin/apachectl start
3、安装php(编译方式安装)
①查询是否安装过php,并卸载
rpm -qa |grep php
rpm -e php --nodeps
②解压文件
tar -zxvf php-5.2.5.tar.gz
③进入目录
cd php-5.2.5
④进入编译
必须有gcc编译器
查看gcc rpm -qa |grep gcc
没有gcc编译器,可在添加卸载程序里 开发工具 中安装
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql
安装目录 apxs2中的2 代表是apache2.0版本,如果是 与mysql关联,加载mysql扩展库,
1.0版本,不写上1 即apxs 相当于windows下,php.ini加载mysql扩展库,
与apache关联 但php.ini文件中的分号没去掉,一样成功
⑤生成可执行文件
make
⑥安装
make install
php安装时,都已经添加扩展库,若后续需要添加扩展,除了重新安装以外,还有就是下边的方法,当然有时候
此方法不一定能成功,所以不建议使用此方法
比如 我们要添加 mbstring 扩展
1. cd /root/php-5.2.5
2. cd ext
3. cd mbstring
此时无 configure 编译文件等
4. /usr/local/php/bin/phpize
执行此命令,产生 configure编译文件等
5. ./configure --enable-mbstring --with-php-config=/usr/local/php/bin/php-config
进入编译
6. make
7. make install
以上命令成功的话,会产生mbstring.so文件,产生的文件目录,根据提示可以获得
一般是Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
将mbstring.so复制到/usr/local/php/lib/php/extensions/下,并且把在php.ini中配置extension_dir变成此目录,这样才可以加载扩展,否则你是复制到了此目录,但是配置文件中的目录不对
进入/usr/local/php/lib/php.ini
在加入扩展的地方写入(Linux不支持.dll文件,支持.so文件)
extension=mbstring.so
重新启动apache
测试→ 写 phpinfo() 看有没有 mbstring 扩展
apache解析php
1、apache加载php模块
打开/usr/local/apache/conf/httpd.conf配置文件
查找 AddType →命令行模式下,输入 / AddType,则AddType会高亮显示
添加
AddType applocation/x-httpd-php .php
保存退出
重启apache →/usr/local/apache/bin/apachectl restart
2、添加php配置文件
进入php压缩源文件目录
cp php.ini-dist /usr/local/php/lib/php.ini
重启apache →/usr/local/apache/bin/apachectl restart
3、测试能否解析php
在/usr/local/apache/htdocs/目录下
test.php
代码如下:
<?php
echo phpinfo();
?>
在浏览器中输入 http://localhost/test.php 测试
编译安装的问题:
可以用 /configure --help 来查看相应源码包的编译参数
关于php编译的时候,可能需要的参数是:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-curl --with-bz2 --enable-mbstring --with-mcrypt --with-pdo-mysql --with-gd
这就可能需要安装额外的源码包,可以根据相应的提示来安装不同的软件包
可能需要安装的是:
libxml2
libxml2-dev
bzip
bzip-dev
libmcrypt-dev
libmysql++-dev
libcurl4-gnutls-dev
libtool
等等
ubuntu下以apt-get install的方式安装确实很简单,他会把一下依赖包也会自动的安装好 ,只需要简单的配置就好,可参考
http://www.cnblogs.com/voidxy/archive/2009/08/07/1541210.html
http://www.cnblogs.com/chenzhenianqing/archive/2011/08/08/2177112.html
http://www.cnblogs.com/ndxsdhy/archive/2011/03/06/1972475.html
/ect/hosts 本机host文件
使用apt-get install 安装lamp的:(安装路径在 /etc 下)
1>apache 的配置文件路径 /etc/apache2/apache2.conf
2>apache 网站字符编码配置路径 /etc/apache2/conf.d/charset
3>php.ini 路径 /etc/php5/apache2/php.ini
4>mysql配置文件 路径 /etc/mysql/my.cnf 一般不要使用,尤其是新手
5>phpmyadmin配置文件路径 /etc/phpmyadmin/apache.conf
6>默认网站根目录 /var/www
phpMyAdmin要在755权限下才能正常访问(777权限不可以正常访问)。
解决办法:
cd /var/www/ -> chmod -R 755 phpMyAdmin