linux下Apache+PHP+mysql+phpMyAdmin源码包安装配置
1. 安装apache2.4.9
1、 下载,在官网:http://httpd.apache.org/download.cgi上下载
2、 解压,
命令:tar –zxvf httpd-2.4.9.tar.gz
3、 配置,
配置命令:./configure--prefix=/usr/local/apache2 --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util --enable-modules=shared
4、 编译,
命令:make
5、 安装,
命令:sudo make install
6、 启动,重启和停止,
先切换到安装目录/usr/loca/apache2/bin
./apachectl -k start
./apachectl -k restart
./apachectl -k stop
出现如下问题:
AH00558: httpd:Could not reliably determine the server‘s fully qualified domain name, using127.0.1.1. Set the ‘ServerName‘ directive globally to suppress this message
(13)Permissiondenied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listeningsockets available, shutting down
AH00015: Unableto open logs
解决方法:
需要修改/usr/local/apache2/conf/httpd.conf
将ServerName localhost:8080 注释去掉并修改端口 。
将文件中Listen 80将它改为Listen8080
7. 配置文件(满足最基本的配置)
编辑/usr/local/apache2/conf/httpd.conf文件
找到:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加:
AddType application/x-httpd-php .php(使Apcche支持PHP)
AddType application/x-httpd-php-source .phps
找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
添加:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
找到:
#ServerName www.example.com:80
修改为:
ServerName 127.0.0.1:8080或者ServerName localhost:8080
记得要去掉前面的“#”
找到:
#Listen 80
修改为:
Listen 8080
8. 测试
在浏览器里输入http://127.0.0.1:8080
如果出现It Works!说明成功。
9. 修改默认的Web站点目录
默认的目录为 "/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一个"/home/fantasy/LAMP/website"的目录作为apache的站点目录
10. 找到DocumentRoot这一行修改为:
DocumentRoot " Directory"/home/fantasy/LAMP/website"
11. 找到 <Directory>这一行修改为:<Directory "/home/fantasy/LAMP/website">
2. PHP安装
1. 下载,官网:http://www.php.net/downloads.php
2. 解压
命令:tar -jxf php-5.5.10.tar.bz2
3. 建立目标文件夹
mkdir /usr/local/php5
也就是说等下安装的php5要安装到这个文件夹里面
4. 配置
回到原来解压后的文件夹
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs
注:
这里有一个-with-apxs2=/usr/local/apache/bin/apxs选项,其中apxs是在安装Apache时产生的,apxs
是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so
提供的LoadModule
指令在运行时加载到Apache服务器中。我的理解是通过这个工具把PHP模块动态加载到Apache中
出现如下问题:
configure: error: xml2-config notfound. Please check your libxml2 installation.
解决方法:
在Ubuntu下下载libxml2-2.7.8.tar.gz
#sh autogen.sh
#make
#sudo make install
5. 编译
命令:make
6. 测试编译
命令:make test
7. 安装
命令:make install
8. 配置文件
cp /usr/local/src/php-5.5.10/php.ini-development /usr/local/php5/lib/php.ini
把原来位于源代码里面的php.ini-development拷贝到/usr/local/php5/lib/php.ini下,并且重命名为php.ini
9. 重启apache
10. 测试
在apache的htdocs下建立一个php文件test.php,里面的内容如下:
<?php
phpinfo();
?>
然后在浏览器里输入http://127.0.0.1:8080/test.php
如果出现php的相关配置,成功,如果什么都没有输入,说明失败,重新以上步骤或者查找原因
如果决定在安装后改变配置选项,只需重复最后的三步configure, make,以及 make install,然后需要重新启动Apache 使新模块生效。Apache不需要重新编译。
3. 安装MySql
1. 下载
到官网下载mysql-5.6.17.tar.gz(注意是源码包)
2. 解压
tar -zxvf mysql-5.6.17.tar.gz
安装MySQL需要cmake,因此先安装cmake。
cmake下载地址:http://www.cmake.org/cmake/resources/software.html
解压:tar -zxvf cmake-2.8.12.2.tar.gz
配置:./configure--prefix=/usr/local/cmake
#./bootstrap
#make
#sudo make install
3. # Preconfiguration setup
shell>groupadd mysql
shell>useradd -r -g mysql mysql
#Beginning of source-build specific instructions
shell>tar zxvf mysql-VERSION.tar.gz
shell>cd mysql-VERSION
shell>cmake .
shell>make
shell> make install
4. Postinstallation setup
shell>cd /usr/local/mysql
shell>chown -R mysql .
shell>chgrp -R mysql .
shell>scripts/mysql_install_db--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
shell>chown -R root .
shell>chown -R mysql data
shell>bin/mysqld_safe --user=mysql &
# Nextcommand is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
5. 启动
MySQL服务并不会自动启动,还需要先初始化MySQL数据库,操作如下:
cd /usr/local/mysql/bin
sudo ./mysql_install_db --user=root
注意,这里最后的root是指可以操作数据库的用户,可以是当前用户,也可以新建用户,与linux上的root用户是两回事,可以自己取一个名字
./mysqld_safe --user=root & 这条命令负责启动mysql服务的守护进程,此外最后的&时必须的,因为希望守护进程在后台运行
这里的root就是刚才的那个
6. 为根用户创建密码
./mysqladmin -u root password ‘123456’
如果root已经设置过密码,采用如下方法
./mysqladmin -u root passwordoldpass ‘root’
7. 测试
mysql -u root –p
会提示输入密码,就用刚才设置的密码
root
如果出现mysql>,说明连接成功了,下面通过命令 创建一个数据库、建一个表,增加一条记录,为后面的测试准备
mysql> create database my_test;
mysql> use my_test;
mysql> create table student(id int(4) not null primary key auto_increment,stuname char(20));
mysql> insert into student(stuname) values(‘Fantasy‘);
注意每条命令后面有个分号,如果上面的都成功,后面就可以用这个测试。
4 结合PHP与MySql
1.重新配置PHP,改变配置选项,只需重复PHP安装时的最后的三步configure,
make, 以及 make install,然后需要重新启动 Apache 使新模块生效,Apache不需要重新编译。
2.配置
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql/bin/mysql_config 注意mysql_config
的路径
3、编译 make
4、安装 make install
5、测试 写一个页面test.php,放在apache的web目录下,测试上面用命令创建的数据库
<?php
$mysqli=new mysqli();
$mysqli->connect(‘localhost‘,‘root‘,‘root‘,‘my_test‘);
// 创建查询
$sqlstr=‘select * from student‘;
//发送查询给MySql
$result=$mysqli->query($sqlstr);
while($row=$result->fetch_object())
{
$name=$row->stuname;
echo $name;
}
?>
得到输出结果:fantasty 。证明PHP与Mysql协作配置正确。
五、安装phpMyAdmin,一个客户端管理工具
1.到官网下载phpMyAdmin-4.1.13-all-languages.tar.gzz
2.解压
tar -zxvf phpMyAdmin-4.1.13-all-languages.tar.gz
3.将解压后的文件夹重命名为phpMyAdmin,放到apache的站点目录下
4.在浏览器中输入http://localhost/phpMyAdmin/index.php即可看到管理界面了。
在安装上述程序时可能会出现如下问题:
1)问题1:
checking for APR... no
configure: error: APR not found. Please read the documentation.
解决方法:
安装ARP
2)问题2:
rm: cannot remove `libtoolT‘: No such fileor directory
解决方法一:
Edit your configure file
Change the line
$RM "$cfgfile]"
to
$RM -f "$cfgfile"
This will resolve the error
rm: cannot remove `libtoolT‘: No such fileor directory
Then try run configure. Let us know if thathelped you :)
解决方法二:直接忽略
不知是否会有隐患;
3)问题三:
checking for APR-util... no
configure: error: APR-util not found. Please read the documentation.
解决方法:
./configure仍提示APR-util not found,增加--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
解决方法参考:http://www.51testing.com/html/18/311318-832068.html
4)问题4:
fantasy@fantasy:/usr/local/apache2/bin$./apachectl -k restart
httpd not running, trying to start
(98)Address already in use: AH00072:make_sock: could not bind to address 0.0.0.0:8080
no listening sockets available, shuttingdown
AH00015: Unable to open logs
解决方法:
在root权限下键入命令:
# netstat -lnp | grep 80
发现居然已经有一个apache进程了
kill [pid]后重新启动apache即可
5)问题5:
Fatal error: Call to undefined function mb_detect_encoding() in /home/fantasy/LAMP/website/phpMyAdmin/libraries/php-gettext/gettext.inc on line 177
解决方法:
由于是客户的服务器没有安装mbstring扩展, 所以只能添加mbstring这个扩展,网上查找了很多,多数都是以下方法(php版本5.5.10,安装目录/usr/local/php5,源代码目录/home/fantasy/LAMP/php-5.5.10):
- cd命令进入php的源代码目录下的/ext/mbstring目录下,即“/home/fantasy/LAMP/php-5.5.10/ext/mbstring”
- 执行
- 执行
- 执行make && make install
- 之后系统提示mbstring.so文件所在的目录。根据php.ini中指示的extension_dir指向的目录中,将其复制过去
- 修改php.ini,添加一句extension=mbstring.so
LAMP搭建参考网站
1、 http://www.cnblogs.com/guoyuanwei/archive/2012/08/25/2655880.html
2、 http://www.51testing.com/html/18/311318-832068.html
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。