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

原文地址:https://www.cnblogs.com/fanfan259/p/3071214.html