返回列表 回复 发帖

Debian+Apache2+MySQL5+PHP5+GD

Debian+Apache2+MySQL5+PHP5+GD

所有资源来源于网络.本文可以任意修改,转载,复制...
虽然是在Debian下配置的,由于是源码包安装的,所以应该也适用于其他Linux发行版.

首先,准备好软件包:
  最新的Apache,MySQL和PHP可以去相对的官方网站去下载,下载到/tmp/src/目录下:
MySQL5:      http://dev.mysql.com/get/Downloa ... 27.tar.gz/from/pick
  PHP5.2.0:       http://cn2.php.net/get/php-5.2.0.tar.bz2/from/cn.php.net/mirror  
  Apache2.0.59:   http://httpd.apache.org/download.cgi
  GD Library:    http://www.boutell.com/gd/http/gd-2.0.33.tar.gz  
  Zlib:                http://www.zlib.net/zlib-1.2.3.tar.gz  
  libpng :            http://prdownloads.sourceforge.n ... fig.tar.gz?download
  Jpeg v6b:         http://www.ijg.org/files/jpegsrc.v6b.tar.gz   链接似乎失效了,我把文件作为附件上传上来了
  FreeType2:     http://jaist.dl.sourceforge.net/ ... etype-2.1.10.tar.gz
如果连Debian都没有的话,可以去这里下载:http://www.phpchina.com/bbs/view ... &extra=page%3D1

所有操作都是以root用户来进行的.
        解压:
        对于*.tar.gz的文件使用命令tar zxvf *.tar.gz来解压;
        对于*.tar.bz2的文件使用命令tar jxvf *.tar.bz2来解压.
        将mysql,php,apache以及gd安装到/opt/目录下,便于管理.
        编译安装MySQL:
        进入到解压后的mysql目录,在终端输入下面的命令:
  1. ./configure --prefix=/opt/mysql --with-mysqld-user=beinan --with-extra-charsets=all --with-unix-socket-path=/opt/mysql/var/mysql.sock
复制代码
--prefix=/opt/mysql 把mysql-4.0.16指定安装到/opt/mysql目录中;
    --with-extra-charsets=all 对多语言的支持;
    --with-unix-socket-path=/opt/mysql/var/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/opt/mysql/var目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。
    --with-mysqld-user=username 这个是让mysql服务器也能让系统中普通用户username也能启动mysql服务器。用普通用户来启动mysql的好处是:mysql的进程会自己死掉自动退出。当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;
  1.                make
  2.                make install
复制代码
现在MySQL已经安装完毕了.剩下的就是配置了.
        配置MySQL:(以下操作都是以root执行)
        输入命令:
  1.          cp /opt/mysql/share/mysql/my-medium.cnf /etc/my.cnf
复制代码
是将配置文件拷贝到/etc目录下成为my.cnf,大家可以根据自己的需要选择配置文件(配置文件在/opt/mysql/share/mysql/目录下,有my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf这些).
        运行
  1. /opt/mysql/bin/mysql_install_db
复制代码
这个命令是创建MySQL的授权表.
  1.         chmod 755 /opt/mysql/var     //设置/opt/mysql/var的目录权限为755
  2.         chown -R username:username /opt/mysql/var  //如果希望使用username这个用户来启动mysql的话
  3.         /opt/mysql/share/mysql/mysql.server start      //启动mysql服务
  4.         chown -R username:username /opt/mysql/      //把/opt/mysql目录归属到username这个用户下
  5.         /opt/mysql/bin/mysqladmin -u root password 123456  //设置root用户的密码为123456
复制代码
编译安装Apache
        进入解压后的apache文件夹.在终端输入:
  1. ./configure --prefix=/opt/apache --enable-track-vars --enable-cgi --with-config-file-path=/opt/apache/conf
复制代码
我大多是采用默认的配制.

--prefix=/opt/apache 指定把apahce安装到/opt/apache目录中;
--enable-cgi 支持CGI;
--with-config-file-path=/opt/apache/conf 指定把apache的配制文件放在/opt/apache/conf中;比如httpd.conf配制文件就在这个目录中;
--enable-track-vars 为启动cookie的get/post等追踪功能

        编译安装:
  1.                make
  2.                make install
复制代码
安装完成后,会在/opt/目录下生成/opt/apache
启动apache守护进程:
  1. /opt/apache/bin/apachectl start
复制代码
打开浏览器,输入 http://localhost 就能看到一个apache的欢迎页面了,这表示我们已经成功解决了apache的安装。

        配制apache

配制文件是/opt/apache/conf/httpd.conf
编译安装的apache默认存放主页的位置应该是/opt/apache/htdocs
这个目录。
在httpd.conf中比较重要的几项:
  1. ServerRoot "/opt/apache"
复制代码
这是ServerRoot指定apache程序所在的的目录,比如日志文件、配制文件等目录.
  1. Listen 80
复制代码
apache 默认端口80
  1. ServerAdmin root@localhost
复制代码
在这里,把管理员的信箱放上去
  1. #ServerName new.host.name:80
复制代码
前面有#号就是注销掉了,设置主机名.
  1. DocumentRoot "/opt/apache/htdocs"
复制代码
这个是存放网页的目录,也就是说,我们应该把网页的目录指定到哪里,这样当访问网址时,就调用这个目录的文件.
  1. <Directory "/opt/apache/htdocs">
复制代码
这句应该和DocumentRoot 的目录保持一致。
  1. #
  2. # Possible values for the Options directive are "None", "All",
  3. # or any combination of:
  4. # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
  5. #
  6. # Note that "MultiViews" must be named *explicitly* --- "Options All"
  7. # doesn't give it to you.
  8. #
  9. # The Options directive is both complicated and important. Please see
  10. # http://httpd.apache.org/docs-2.0/mod/core.html#options
  11. # for more information.
  12. #
  13. Options Indexes FollowSymLinks

  14. #
  15. # AllowOverride controls what directives may be placed in .htaccess files.
  16. # It can be "All", "None", or any combination of the keywords:
  17. # Options FileInfo AuthConfig Limit
  18. #
  19. AllowOverride None

  20. #
  21. # Controls who can get stuff from this server.
  22. #
  23. Order allow,deny
  24. Allow from all

  25. </Directory>
复制代码
  1. AddDefaultCharset ISO-8859-1
复制代码
这句是指定网页的默认语言的,如果网页出乱中文乱码,应该改AddDefaultCharset 后面的值为GB2312。也就是改成下面这样的。

找到下面的一行在后面加上index.php ,让网站的默认页是index.php也行;
  1. DirectoryIndex index.html index.html.var index.php
复制代码
找到
  1. #AddType application/x-tar .tgz
复制代码
这行,在下面加一行。前面不要加#号。
  1. AddType application/x-httpd-php .php
复制代码
配制好后,我们就重启apache后,对那个存放网页的目录执行:
  1. chmod 755 目录名
  2. chmod -R 755  目录名
复制代码
然后就重启apache的守护进程httpd
  1. /opt/apache/bin/apachectl restart
复制代码
在浏览器的地址栏中输入localhost或者127.0.0.1,这样应该能看到页面了吧。

如果是通过root用户,或者其它用户把相应的网站文件复制到网站存放的目录下的,要改变网站存放目录中所有文件的权限,就是上面所说的chmod -R 755 目录名.

        编译安装PHP:
        zlib:
                进入解压后的zlib目录.在终端执行以下命令:
  1.                ./configure
  2.                make
  3.                make install
复制代码
freetype:
                进入解压后的freetype目录,在终端执行以下命令:
  1.                ./configure --prefix=/usr/local/freetype
  2.                make
  3.                make install
复制代码
libpng:
                进入解压后的libpng目录,在终端执行以下命令:
  1.                ./configure
  2.                make
  3.                make test
  4.                make install
复制代码
jpeg-6b:
                进入解压后的jpeg-6b目录,在终端执行以下命令:
  1.         mkdir /usr/local/jpeg                    
  2.         mkdir /usr/local/jpeg/bin
  3.         mkdir /usr/local/jpeg/lib
  4.         mkdir /usr/local/jpeg/include
  5.         mkdir /usr/local/jpeg/man
  6.         mkdir /usr/local/jpeg/man/man1
  7.         ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
  8.                make
  9.                make install
复制代码
GD Library:
                进入解压后的gd目录,在终端执行以下命令:(注意不要空行)
  1.         ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --with-png --with-zlib
  2.                make
  3.                make install
复制代码
PHP:
                进入解压后的gd目录,在终端执行以下命令:(不要空行)
  1.         ./configure --prefix=/opt/php --with-apxs2=/opt/apache/bin/apxs --with-gd=/usr/local/gd --enable-gd --enable-gd-native-ttf --with-jpeg-dir=/usr/local/jpeg --with-png --with-ttf --with-zlib --with-freetype-dir=/usr/local/freetype --enable-magic-quotes --with-mysql=/opt/mysql --with-mysql-sock=/opt/mysql/var/mysql.sock  --with-iconv --with-mbstring --enable-mbstring --enable-track-vars --enable-force-cgi-redirect --enable-ftp --with-config-file-path=/opt/php/etc --with-pear=/server/php/pear
  2.                make
  3.                make install
复制代码
复制php.ini-dist为php.ini,并存放到/opt/php/etc/目录下.
        编辑/opt/php/etc/php.ini文件,找到如下的一行
  1.         ;default_charset = "iso-8859-1"
复制代码
在这行下面加一行
  1.         default_charset = "gb2312"
复制代码
ok,现在在httpd.conf指定的网页目录下新建index.php,输入
  1. <?php phpinfo() ?>
复制代码
保存,在浏览其中输入localhost,应该能正常显示了吧.

20060824更新:1)将jegsrc.v6b.tar.gz添加为附件。2)将MySQL5的下载地址更新为mysql-5.0.24.tar.gz  。
20060829更新:将“--with-apxs2=/opt/httpd/bin/apxs”修正为“--with-apxs2=/opt/apache/bin/apxs”。THX myaxl2008

20061214更新:1)修正了一些链接;1)更新链接php5.1.1=>php5.2.0 apache2.0.55=>apache2.0.59 mysql5.0.24=>mysql5.0.27。

[ 本帖最后由 xlmo 于 2006-12-14 15:17 编辑 ]
附件: 您所在的用户组无法下载或查看附件
TC
顶!
写得很详细
学习!
学习中......
细节决定成败~
思路决定出路~
性格决定命运~
定位决定地位~
脑袋决定口袋!
选择比努力更重要 !
顶一下
更新一下:
如果不使用sarge而使用sid的话,可以直接apt-get apache2  php5 mysql5 和php5-gd了.
不用再像上面那么麻烦了.
不过如果是做服务器的话,不建议用sid,学习的话用用还挺不错的.
TC

学习中

学习中,顶!!!!
晕,原来没看见这篇帖子.
呵呵
更新在安装教程里面了
九阴真经,请同学们多加练习
360行,行行出Bug。
安装帖子真多,但linux下的就这一个~^_^
PHP面对对象
征友情链接
不错,这个要顶下!!~
如何让linux 系统每次启动后都自动启动apache和mysql呢?请高手指教!
成功就是成为最好的你自己!
返回列表