Linux环境说明:Sc6Linux联盟 Ubunut 7.04Sc6Linux联盟 mysql-5.0.41Sc6Linux联盟 httpd-2.0.53Sc6Linux联盟 php-4.4.7 Sc6Linux联盟 一、Apache服务器的安装 mkdir /home/zieckey/programfiles/apacheSc6Linux联盟 mkdir /home/zieckey/programfiles/phpSc6Linux联盟 mkdir /home/zieckey/programfiles/mqsql 安装成功!Sc6Linux联盟 启动: 再次启动: Sc6Linux联盟zieckey@zieckey-laptop:~/programfiles/apache$ ./bin/apachectl start Sc6Linux联盟(13): make_sock: could not bind to address [::]:80 Sc6Linux联盟no listening sockets available, shutting down Sc6Linux联盟Unable to open logs Sc6Linux联盟也许还会出现上面的问题,这个是因为Apache要用到的80端口被其他应用程序占用了,我们改个端口就好了: Sc6Linux联盟conf/httpd.conf 中的 Sc6Linux联盟Listen 80 改为 Listen (你要使用的端口) 如 Listen 8080 Sc6Linux联盟不过这时在你访问你的apache 下的Web服务时 在域名后要加上端口号 Sc6Linux联盟如: http://localhost:8080Sc6Linux联盟另外,不要忘记下面的地方也要改为8080: Sc6Linux联盟ServerName www.zieckey.com:8080 二 、MySQL的安装Sc6Linux联盟 1、下载mysql5的linux版本。 Sc6Linux联盟 2、安装GCCt等必备的软件:Sc6Linux联盟 在终端下执行(网通用户请用交大的源):Sc6Linux联盟 sudo apt-get install gcc cpp g++ libncurses5-devSc6Linux联盟 sudo apt-get install make autoconf automake libtool 3、解压:Sc6Linux联盟 对于*.tar.gz的文件使用命令tar zxvf *.tar.gz来解压;Sc6Linux联盟 对于*.tar.bz2的文件使用命令tar jxvf *.tar.bz2来解压.Sc6Linux联盟 将mysql,php,apache以及gd安装到/opt/目录下,便于管理.Sc6Linux联盟 具体过程可参考:Sc6Linux联盟 把桌面上刚下的MySQL复制到/tmp下:cp Desktop/mysql-5.0.41.tar.gz /tmpSc6Linux联盟 进入/tmp目录:cd /tmpSc6Linux联盟 解压并展开:tar zxvf mysql-5.0.41.tar.gz 4、编译安装MySQL:Sc6Linux联盟 进入到解压后的mysql目录:Sc6Linux联盟 cd mysql-5.0.41Sc6Linux联盟 假设我常用用户是zieckey,则在终端输入下面的命令:Sc6Linux联盟 ./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目录中;Sc6Linux联盟 --with-extra-charsets=all 对多语言的支持;Sc6Linux联盟 --with-unix-socket-path=/tmp/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/tmp 目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。Sc6Linux联盟 --with-mysqld-user=zieckey 这个是让mysql服务器也能让系统中普通用户zieckey也能启动mysql服务器。用普通用户来启动mysql的好处是:mysql的进程会自己死掉自动退出。当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;Sc6Linux联盟 当您看到“Thank you for choosing MySQL!”时,说明成功。 也许会看到如下信息:Sc6Linux联盟 checking for termcap functions library... configure: error: No curses/termcap library foundSc6Linux联盟 这说明系统中某些库文件没有,那么我们要安装这些库文件。安装上libncurses5-dev (不同的系统可能名字也有所差异)这个包就好了 sudo apt-get install libncurses5-dev 5、编译安装 sudo makeSc6Linux联盟 sudo make installSc6Linux联盟 sudo scripts/mysql_install_db 6、后期配置 创建一个数据库管理员Sc6Linux联盟 sudo groupadd mysqlSc6Linux联盟 sudo useradd -g mysql mysql 改变权限Sc6Linux联盟 sudo chown -R root /home/zieckey/programfiles/mysqlSc6Linux联盟 sudo chown -R mysql /home/zieckey/programfiles/mysql/varSc6Linux联盟 sudo chgrp -R mysql /home/zieckey/programfiles/mysqlSc6Linux联盟 sudo chown -R zieckey /home/zieckey/programfiles/mysql/var //如果希望使用zieckey这个用户来启动mysql的话Sc6Linux联盟 sudo chgrp -R zieckey /home/zieckey/programfiles/mysql 配置环境变量 cd //回到你的用户目录。Sc6Linux联盟 cp .bashrc .bashrc_bak //备份.bashrcSc6Linux联盟 gedit ~/.bashrc 在最后加入: MySQL_HOME=/home/zieckey/programfiles/mysqlSc6Linux联盟 PATH=$MySQL_HOME/bin:$PATHSc6Linux联盟 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MySQL_HOME/lib/mysql/Sc6Linux联盟 export JAVA_HOME CLASSPATH MySQL_HOME LD_LIBRARY_PATH PATH 然后在终端输入:source ~/.bashrc //使刚修改的起作用 设置MYSQL自动启动:Sc6Linux联盟 sudo cp /home/zieckey/programfiles/mysql/mysql.server /etc/rc2.d/S20mysql 启动一个mysql客户端 Sc6Linux联盟zieckey@zieckey-laptop:~/temp/mysql-5.0.41$ mysql -u root -p Sc6Linux联盟Enter password: Sc6Linux联盟Welcome to the MySQL monitor. Commands end with ; or \g. Sc6Linux联盟Your MySQL connection id is 9 Sc6Linux联盟Server version: 5.0.41 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use testSc6Linux联盟 Database changedSc6Linux联盟 mysql> show tables;Sc6Linux联盟 Empty set (0.01 sec) mysql> Sc6Linux联盟 至此,MySQL安装完成 Sc6Linux联盟 三、安装PHP4 1. 安装php的时候,系统默认缺少两个组件,先安装 sudo apt-get install flex libxml2 libxml2-dev 下面是安装GD支持库 2.freetypeSc6Linux联盟 tar -xvjf freetype-2.1.3.tar.bz2Sc6Linux联盟 cd freetype-2.1.3Sc6Linux联盟 ./configureSc6Linux联盟 makeSc6Linux联盟 sudo make install 3.jpegSc6Linux联盟 tar -xvzf jpegsrc.v6b.tar.gzSc6Linux联盟 cd jpeg-6b/Sc6Linux联盟 ./configure --enable-shared --enable-staticSc6Linux联盟 makeSc6Linux联盟 mkdir /usr/local/manSc6Linux联盟 mkdir /usr/local/man/man1Sc6Linux联盟 sudo make install 这里也许会出现错误: Sc6Linux联盟/usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1 Sc6Linux联盟/usr/bin/install: 无法创建一般文件 ‘/usr/local/man/man1/cjpeg.1’: No such file or directory Sc6Linux联盟make: *** [install] 错误 1 Sc6Linux联盟这样解决: Sc6Linux联盟zieckey@zieckey-laptop:~/temp/jpeg-6b$ sudo mkdir -p /usr/local/man/man1/ Sc6Linux联盟在安装就好了: Sc6Linux联盟sudo make install Sc6Linux联盟 4.zlibSc6Linux联盟 tar zxvf zlib-1.2.3.tar.gzSc6Linux联盟 cd zlib-1.2.3Sc6Linux联盟 ./configureSc6Linux联盟 makeSc6Linux联盟 sudo make install 5.libpngSc6Linux联盟 tar zxvf libpng-1.2.8-config.tar.gzSc6Linux联盟 cd zlib-1.2.8Sc6Linux联盟 ./configureSc6Linux联盟 makeSc6Linux联盟 sudo make install 6.gd2Sc6Linux联盟 tar -zxvf gd-2.0.27.tar.gzSc6Linux联盟 cd gd-2.0.27/Sc6Linux联盟 ./configure --prefix=/home/zieckey/programfiles/gd2Sc6Linux联盟 makeSc6Linux联盟 make install Sc6Linux联盟 7. 安装PHP Sc6Linux联盟 四、最后的配置 对apache做如下配置 Sc6Linux联盟将ServerAdmin q3boy@younet.com一行改为您的邮箱地址 Sc6Linux联盟DocumentRoot "/home/httpd/html/" 此处为html文件主目录 增加下面几行:Sc6Linux联盟 Sc6Linux联盟 AddType application/x-httpd-php .php .phtmlSc6Linux联盟 AddType application/x-httpd-php-source .phps Sc6Linux联盟 sudo gedit /usr/local/lib/php.iniSc6Linux联盟 添加:Sc6Linux联盟 register-golbals = On Sc6Linux联盟 五、测试 编写一个简单的PHP文件:hello.php <html>Sc6Linux联盟 <meta http-equiv=Content-Type content=text/html; charset=utf8>Sc6Linux联盟 <head>Sc6Linux联盟 <title>Hello in PHP</title>Sc6Linux联盟 </head>Sc6Linux联盟 <body>Sc6Linux联盟 <h1>Hello in PHP</h1>Sc6Linux联盟 <?phpSc6Linux联盟 print "Hello, world! ";Sc6Linux联盟 $link=mysql_connect('localhost','root','');Sc6Linux联盟 if(!$link) echo "数据库连接失败!";Sc6Linux联盟 else echo "数据库连接成功!";Sc6Linux联盟 mysql_close();Sc6Linux联盟 ?>Sc6Linux联盟 </body>Sc6Linux联盟 </html>Sc6Linux联盟
|
保存到Apache目录下的htdocs,我的是:Sc6Linux联盟 /home/zieckey/programfiles/apache/htdocsSc6Linux联盟 Hello in PHPSc6Linux联盟 Hello, world! 数据库连接成功! 这里需要注意的一个问题就是,如果你的php页面是从其他FS拷贝过来的,比如从win2k的ntfs盘拷贝过来的,一定要重新设置所有文件的权限,否则会报错:Sc6Linux联盟 Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0Sc6Linux联盟 Warning: Unknown: Failed opening '/usr/local/Webroot/index.php' for inclusion (include_path='.:/usr/local/php/lib/php') in Unknown on line 0Sc6Linux联盟 我一开始就被这个报错信息给误导了,找了半天关于include_path='.:/usr/local/php/lib/php'这个的原因,浪费了大量的时间 至此,Ubuntu Linux 7 下的apache2+php4+mysql5源码安装全过程已完成,下面就开始我们激动人心的PHP动态网页编程之旅吧。Sc6Linux联盟
|