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

ubuntu下源码包方式安装apache+mysql+php

2013-05-10 15:02 639 查看
最近也是自己在忙一些环境的搭建问题,原来是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 测试

编译安装的问题:

可以用 [b]/configure --help 来查看相应源码包的编译参数 [/b]

[b]关于php编译的时候,可能需要的参数是:[/b]

[b]./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
[/b]

[b]这就可能需要安装额外的源码包,可以根据相应的提示来安装不同的软件包[/b]

[b]可能需要安装的是:[/b]

[b]libxml2 [/b]

[b]libxml2-dev[/b]

[b]bzip[/b]

[b]bzip-dev[/b]

[b]libmcrypt-dev

libmysql++-dev

libcurl4-gnutls-dev

libtool
[/b]

[b]等等[/b]

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: