Linux 下的PHP、MySQL和Apache怎样下载
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 下的PHP、MySQL和Apache怎样下载相关的知识,希望对你有一定的参考价值。
最好还有安装步骤
参考技术A 你用什么linux?可以先用yum apt什么的看看源里有没有,如果没有就到官方网站上下载专门的Linux版本吧,有安装包的下载安装包,没有的下载源代码自己编译 参考技术B XAMPP去百度上搜这个东西 ,这个东西把上面的都带了,傻瓜式操作安装,很简单的,我就是用的这个。
php+mysql +apache ,还加个什么东西, 参考技术C 参考我的文章
http://hi.baidu.com/quqiufeng/blog/item/631d66542a116c5e564e002f.html
Ubuntu Linux 7.04下的apache2+php4+mysql5源码安装详解
作者:zieckey(
zieckey@yahoo.com.cn)
All Right Reserved!
All Right Reserved!
Linux环境说明:
Ubunut 7.04
mysql-5.0.41
httpd-2.0.53
php-4.4.7
Ubunut 7.04
mysql-5.0.41
httpd-2.0.53
php-4.4.7
一、Apache服务器的安装
mkdir /home/zieckey/programfiles/apache
mkdir /home/zieckey/programfiles/php
mkdir /home/zieckey/programfiles/mqsql
mkdir /home/zieckey/programfiles/php
mkdir /home/zieckey/programfiles/mqsql
zieckey@zieckey-laptop:~/temp$ tar zxvf httpd-2.0.53.tar.gz
zieckey@zieckey-laptop:~/temp/httpd-2.0.53$ ./configure --prefix=/home/zieckey/programfiles/apache --enable-module=so
zieckey@zieckey-laptop:~/temp/httpd-2.0.53$ sudo make
zieckey@zieckey-laptop:~/temp/httpd-2.0.53$ sudo make install
zieckey@zieckey-laptop:~/temp/httpd-2.0.53$ ./configure --prefix=/home/zieckey/programfiles/apache --enable-module=so
zieckey@zieckey-laptop:~/temp/httpd-2.0.53$ sudo make
zieckey@zieckey-laptop:~/temp/httpd-2.0.53$ sudo make install
安装成功!
启动:
启动:
zieckey@zieckey-laptop:~/temp/httpd-2.0.53$ cd /home/zieckey/programfiles/apache/
zieckey@zieckey-laptop:~/programfiles/apache$ ./bin/apachectl start
(13): make_sock: could not bind to address [::]:80
no listening sockets available, shutting down
Unable to open logs
也许会出现上述错误,没关系,很好解决:
错误原因是Apache无法找到服务器的FQDN(Fully Qualified Domain Name).
最简单的,修改httpd.conf文件,增加:
ServerName <server_name_or_ip_addr>
我的改为:
ServerName www.zieckey.com:80
zieckey@zieckey-laptop:~/programfiles/apache$ ./bin/apachectl start
(13): make_sock: could not bind to address [::]:80
no listening sockets available, shutting down
Unable to open logs
也许会出现上述错误,没关系,很好解决:
错误原因是Apache无法找到服务器的FQDN(Fully Qualified Domain Name).
最简单的,修改httpd.conf文件,增加:
ServerName <server_name_or_ip_addr>
我的改为:
ServerName www.zieckey.com:80
再次启动:
zieckey@zieckey-laptop:~/programfiles/apache$ ./bin/apachectl start
(13): make_sock: could not bind to address [::]:80
no listening sockets available, shutting down
Unable to open logs
也许还会出现上面的问题,这个是因为Apache要用到的80端口被其他应用程序占用了,我们改个端口就好了:
conf/httpd.conf 中的
Listen 80 改为 Listen (你要使用的端口) 如 Listen 8080
不过这时在你访问你的apache 下的Web服务时 在域名后要加上端口号
如: http://localhost:8080
另外,不要忘记下面的地方也要改为8080:
ServerName www.zieckey.com:8080
zieckey@zieckey-laptop:~/programfiles/apache$ ./bin/apachectl start
(13): make_sock: could not bind to address [::]:80
no listening sockets available, shutting down
Unable to open logs
也许还会出现上面的问题,这个是因为Apache要用到的80端口被其他应用程序占用了,我们改个端口就好了:
conf/httpd.conf 中的
Listen 80 改为 Listen (你要使用的端口) 如 Listen 8080
不过这时在你访问你的apache 下的Web服务时 在域名后要加上端口号
如: http://localhost:8080
另外,不要忘记下面的地方也要改为8080:
ServerName www.zieckey.com:8080
好了,再启动:
zieckey@zieckey-laptop:~/programfiles/apache$ ./bin/apachectl start
(13): httpd: could not open error log file /home/zieckey/programfiles/apache/logs/error_log.
Unable to open logs
哦没有权限:
zieckey@zieckey-laptop:~/programfiles/apache$ sudo ./bin/apachectl start
zieckey@zieckey-laptop:~/programfiles/apache$ ./bin/apachectl start
(13): httpd: could not open error log file /home/zieckey/programfiles/apache/logs/error_log.
Unable to open logs
哦没有权限:
zieckey@zieckey-laptop:~/programfiles/apache$ sudo ./bin/apachectl start
二 、MySQL的安装
1、下载mysql5的linux版本。
1、下载mysql5的linux版本。
2、安装GCCt等必备的软件:
在终端下执行(网通用户请用交大的源):
sudo apt-get install gcc cpp g++ libncurses5-dev
sudo apt-get install make autoconf automake libtool
3、解压:
对于*.tar.gz的文件使用命令tar zxvf *.tar.gz来解压;
对于*.tar.bz2的文件使用命令tar jxvf *.tar.bz2来解压.
将mysql,php,apache以及gd安装到/opt/目录下,便于管理.
具体过程可参考:
把桌面上刚下的MySQL复制到/tmp下:cp Desktop/mysql-5.0.41.tar.gz /tmp
进入/tmp目录:cd /tmp
解压并展开:tar zxvf mysql-5.0.41.tar.gz
对于*.tar.gz的文件使用命令tar zxvf *.tar.gz来解压;
对于*.tar.bz2的文件使用命令tar jxvf *.tar.bz2来解压.
将mysql,php,apache以及gd安装到/opt/目录下,便于管理.
具体过程可参考:
把桌面上刚下的MySQL复制到/tmp下:cp Desktop/mysql-5.0.41.tar.gz /tmp
进入/tmp目录:cd /tmp
解压并展开:tar zxvf mysql-5.0.41.tar.gz
4、编译安装MySQL:
进入到解压后的mysql目录:
cd mysql-5.0.41
假设我常用用户是zieckey,则在终端输入下面的命令:
./configure --prefix=/home/zieckey/programfiles/mysql --with-mysqld-user=zieckey --with-extra-charsets=all --with-unix-socket-path=/tmp/mysql.sock
进入到解压后的mysql目录:
cd mysql-5.0.41
假设我常用用户是zieckey,则在终端输入下面的命令:
./configure --prefix=/home/zieckey/programfiles/mysql --with-mysqld-user=zieckey --with-extra-charsets=all --with-unix-socket-path=/tmp/mysql.sock
--prefix=/home/zieckey/programfiles/mysql 把mysql-5.0.41指定安装到/home/zieckey/programfiles/mysql目录中;
--with-extra-charsets=all 对多语言的支持;
--with-unix-socket-path=/tmp/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/tmp 目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。
--with-mysqld-user=zieckey 这个是让mysql服务器也能让系统中普通用户zieckey也能启动mysql服务器。用普通用户来启动mysql的好处是:mysql的进程会自己死掉自动退出。当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;
当您看到“Thank you for choosing MySQL!”时,说明成功。
--with-extra-charsets=all 对多语言的支持;
--with-unix-socket-path=/tmp/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/tmp 目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。
--with-mysqld-user=zieckey 这个是让mysql服务器也能让系统中普通用户zieckey也能启动mysql服务器。用普通用户来启动mysql的好处是:mysql的进程会自己死掉自动退出。当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;
当您看到“Thank you for choosing MySQL!”时,说明成功。
也许会看到如下信息:
checking for termcap functions library... configure: error: No curses/termcap library found
这说明系统中某些库文件没有,那么我们要安装这些库文件。安装上libncurses5-dev (不同的系统可能名字也有所差异)这个包就好了
checking for termcap functions library... configure: error: No curses/termcap library found
这说明系统中某些库文件没有,那么我们要安装这些库文件。安装上libncurses5-dev (不同的系统可能名字也有所差异)这个包就好了
sudo apt-get install libncurses5-dev
5、编译安装
sudo make
sudo make install
sudo scripts/mysql_install_db
sudo make install
sudo scripts/mysql_install_db
6、后期配置
创建一个数据库管理员
sudo groupadd mysql
sudo useradd -g mysql mysql
sudo groupadd mysql
sudo useradd -g mysql mysql
改变权限
sudo chown -R root /home/zieckey/programfiles/mysql
sudo chown -R mysql /home/zieckey/programfiles/mysql/var
sudo chgrp -R mysql /home/zieckey/programfiles/mysql
sudo chown -R zieckey /home/zieckey/programfiles/mysql/var //如果希望使用zieckey这个用户来启动mysql的话
sudo chgrp -R zieckey /home/zieckey/programfiles/mysql
sudo chown -R root /home/zieckey/programfiles/mysql
sudo chown -R mysql /home/zieckey/programfiles/mysql/var
sudo chgrp -R mysql /home/zieckey/programfiles/mysql
sudo chown -R zieckey /home/zieckey/programfiles/mysql/var //如果希望使用zieckey这个用户来启动mysql的话
sudo chgrp -R zieckey /home/zieckey/programfiles/mysql
配置环境变量
cd //回到你的用户目录。
cp .bashrc .bashrc_bak //备份.bashrc
gedit ~/.bashrc
cp .bashrc .bashrc_bak //备份.bashrc
gedit ~/.bashrc
在最后加入:
MySQL_HOME=/home/zieckey/programfiles/mysql
PATH=$MySQL_HOME/bin:$PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MySQL_HOME/lib/mysql/
export JAVA_HOME CLASSPATH MySQL_HOME LD_LIBRARY_PATH PATH
PATH=$MySQL_HOME/bin:$PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MySQL_HOME/lib/mysql/
export JAVA_HOME CLASSPATH MySQL_HOME LD_LIBRARY_PATH PATH
然后在终端输入:source ~/.bashrc //使刚修改的起作用
设置MYSQL自动启动:
sudo cp /home/zieckey/programfiles/mysql/mysql.server /etc/rc2.d/S20mysql
sudo cp /home/zieckey/programfiles/mysql/mysql.server /etc/rc2.d/S20mysql
7、启动mysql服务器
zieckey@zieckey-laptop:~/temp/mysql-5.0.41$ mysqld_safe -u mysql&
[1] 21845
zieckey@zieckey-laptop:~/temp/mysql-5.0.41$ Starting mysqld daemon with databases from /home/zieckey/programfiles/mysql/var
zieckey@zieckey-laptop:~/temp/mysql-5.0.41$ mysqld_safe -u mysql&
[1] 21845
zieckey@zieckey-laptop:~/temp/mysql-5.0.41$ Starting mysqld daemon with databases from /home/zieckey/programfiles/mysql/var
启动一个mysql客户端
zieckey@zieckey-laptop:~/temp/mysql-5.0.41$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 9
Server version: 5.0.41 Source distribution
zieckey@zieckey-laptop:~/temp/mysql-5.0.41$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 9
Server version: 5.0.41 Source distribution
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql> use test
Database changed
mysql> show tables;
Empty set (0.01 sec)
Database changed
mysql> show tables;
Empty set (0.01 sec)
mysql>
至此,MySQL安装完成
三、安装PHP4
1. 安装php的时候,系统默认缺少两个组件,先安装
sudo apt-get install flex libxml2 libxml2-dev
下面是安装GD支持库
2.freetype
tar -xvjf freetype-2.1.3.tar.bz2
cd freetype-2.1.3
./configure
make
sudo make install
tar -xvjf freetype-2.1.3.tar.bz2
cd freetype-2.1.3
./configure
make
sudo make install
3.jpeg
tar -xvzf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure --enable-shared --enable-static
make
mkdir /usr/local/man
mkdir /usr/local/man/man1
sudo make install
tar -xvzf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure --enable-shared --enable-static
make
mkdir /usr/local/man
mkdir /usr/local/man/man1
sudo make install
这里也许会出现错误:
/usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1
/usr/bin/install: 无法创建一般文件 ‘/usr/local/man/man1/cjpeg.1’: No such file or directory
make: *** [install] 错误 1
这样解决:
zieckey@zieckey-laptop:~/temp/jpeg-6b$ sudo mkdir -p /usr/local/man/man1/
在安装就好了:
sudo make install
/usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1
/usr/bin/install: 无法创建一般文件 ‘/usr/local/man/man1/cjpeg.1’: No such file or directory
make: *** [install] 错误 1
这样解决:
zieckey@zieckey-laptop:~/temp/jpeg-6b$ sudo mkdir -p /usr/local/man/man1/
在安装就好了:
sudo make install
4.zlib
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
sudo make install
5.libpng
tar zxvf libpng-1.2.8-config.tar.gz
cd zlib-1.2.8
./configure
make
sudo make install
tar zxvf libpng-1.2.8-config.tar.gz
cd zlib-1.2.8
./configure
make
sudo make install
6.gd2
tar -zxvf gd-2.0.27.tar.gz
cd gd-2.0.27/
./configure --prefix=/home/zieckey/programfiles/gd2
make
make install
tar -zxvf gd-2.0.27.tar.gz
cd gd-2.0.27/
./configure --prefix=/home/zieckey/programfiles/gd2
make
make install
7. 安装PHP
zieckey@zieckey-laptop:~/temp$ tar zxvf php-4.4.7.tar.gz
zieckey@zieckey-laptop:~/temp$ cd php-4.4.7/
zieckey@zieckey-laptop:~/temp/php-4.4.7$ ./configure --with-gd=/home/zieckey/programfiles/gd2 --with-apxs2=/home/zieckey/programfiles/apache/bin/apxs --with-xml --with-mysql=/home/zieckey/programfiles/mysql
zieckey@zieckey-laptop:~/temp$ cd php-4.4.7/
zieckey@zieckey-laptop:~/temp/php-4.4.7$ ./configure --with-gd=/home/zieckey/programfiles/gd2 --with-apxs2=/home/zieckey/programfiles/apache/bin/apxs --with-xml --with-mysql=/home/zieckey/programfiles/mysql
zieckey@zieckey-laptop:~/temp/php-4.4.7$ make
zieckey@zieckey-laptop:~/temp/php-4.4.7$ sudo make install
zieckey@zieckey-laptop:~/temp/php-4.4.7$ sudo cp php.ini-dist /usr/local/lib/php.ini
zieckey@zieckey-laptop:~/temp/php-4.4.7$ sudo make install
zieckey@zieckey-laptop:~/temp/php-4.4.7$ sudo cp php.ini-dist /usr/local/lib/php.ini
四、最后的配置
cd /home/zieckey/programfiles/apache/conf/
zieckey@zieckey-laptop:~/programfiles/apache/conf$ sudo cp httpd.conf httpd.conf.bak.good
zieckey@zieckey-laptop:~/programfiles/apache/conf$ sudo gedit httpd.conf
zieckey@zieckey-laptop:~/programfiles/apache/conf$ sudo cp httpd.conf httpd.conf.bak.good
zieckey@zieckey-laptop:~/programfiles/apache/conf$ sudo gedit httpd.conf
增加下面几行:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
sudo gedit /usr/local/lib/php.ini
添加:
register-golbals = On
五、测试
编写一个简单的PHP文件:hello.php
|
保存到Apache目录下的htdocs,我的是:
/home/zieckey/programfiles/apache/htdocs
打开MySQL数据库服务器:
zieckey@zieckey-laptop:~/temp/mysql-5.0.41$ mysqld_safe -u mysql&
zieckey@zieckey-laptop:~/temp/mysql-5.0.41$ mysqld_safe -u mysql&
Hello in PHP
Hello, world! 数据库连接成功!
Hello, world! 数据库连接成功!
这里需要注意的一个问题就是,如果你的php页面是从其他FS拷贝过来的,比如从win2k的ntfs盘拷贝过来的,一定要重新设置所有文件的权限,否则会报错:
Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Warning: Unknown: Failed opening '/usr/local/Webroot/index.php' for inclusion (include_path='.:/usr/local/php/lib/php') in Unknown on line 0
我一开始就被这个报错信息给误导了,找了半天关于include_path='.:/usr/local/php/lib/php'这个的原因,浪费了大量的时间
Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Warning: Unknown: Failed opening '/usr/local/Webroot/index.php' for inclusion (include_path='.:/usr/local/php/lib/php') in Unknown on line 0
我一开始就被这个报错信息给误导了,找了半天关于include_path='.:/usr/local/php/lib/php'这个的原因,浪费了大量的时间
至此,Ubuntu Linux 7 下的apache2+php4+mysql5源码安装全过程已完成,下面就开始我们激动人心的PHP动态网页编程之旅吧。
以上是关于Linux 下的PHP、MySQL和Apache怎样下载的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu Linux 7.04下的apache2+php4+mysql5源码安装详解
Linux系统下LNMP一键搭建LinuxPHPMySQL环境(适合新手搭建linux下的web生成环境)