http2+PHP5 + MySQL5 + GD2 + Proftpd + php
iLove.Rain
|
1#
iLove.Rain 发表于 2006-08-25 00:51
http2+PHP5 + MySQL5 + GD2 + Proftpd + php
一直想写篇关于Linux下 PHP环境的详细安装配置文章, 没什么时间
趁现要配几台服务器, 借此机会把自己安装配置的步骤写出来, 供初学者参考! 有什么错误的地方请大家指证批评,谢谢! - by Mayer 首先我在 /root 目录下建了一个 soft 文件夹来保存我要安装的源码包 mkdir /root/soft cd /root/soft 先找到 apache php mysql proftpd 源码包下载的URL地址 请浏览 http://www.apache.org http://www.php.net http://www.mysql.com http://www.proftpd.org/ 等官方网站 使用wget 直接下载 wget http://apache.justdn.org/httpd/httpd-2.0.55.tar.gz wget http://cn.php.net/get/php-5.0.5.tar....php.net/mirror wget http://dev.mysql.com/get/Downloads/M...eznetsols.org/ 第一步:安装apache 注:当前目录为/root/soft , 目录下有 httpd-2.0.55.tar.gz, php-5.0.5.tar.gz 等二进制源码包 #号代表为root 根权限,#后是输入的一条命令 执行下列命令 解压源码包 # tar -zxf httpd-2.0.55.tar.gz 进入安装目录 # cd httpd-2.0.55 配置apache安装信息 # ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite 执行make安装 # make; make install 安装完后 # vi /usr/local/apache/conf/httpd.conf 找到 prefork.c 下的 MaxClients 150 改为 ServerLimit 2000 MaxClients 1000 apache默认工作在prefork.c模式下,并发进程为150,超过后就无法访问,150是远远不够的,所以这里按自己网站的需求改, 如1000 由于apache默认最大并发进程是 256 所以要先设置 ServerLimit 2000 将服务器可设的最大并发数设为2000, 然后再设置最大并发数 MaxClients 1000 找到 #ServerName www.example.com:80 在其下设置 ServerName 如下 ServerName www.mysite.com 基中 www.mysite.com 为你网站名,也可用IP代替 找到 DocumentRoot "/usr/local/apache/htdocs" 设置你的 WEB 服务器的根目录 如 DocumentRoot "/myweb" 找到 DirectoryIndex index.html index.html.var 改为 DirectoryIndex index.html index.php index.htm 找到 ForceLanguagePriority Prefer Fallback 在其下加上 AddDefaultCharset gb2312 改完后保存(vi 的用法请查 Linux vi 命令) 用下面命令启动WEB服务器 # /usr/local/apache/bin/apachectl start 查看自己的站点是否正常 http://www.mysite.com 也可用IP 用 # /usr/local/apache/bin/apachectl stop 可停止服务 安装MYSQL # tar -zxf mysql-standard-5.0.15-linux-i686.tar.gz # cp -r mysql-standard-5.0.15-linux-i686 /usr/local/mysql # vi /usr/local/mysql/support-files/my-medium.cnf 在后面加上 max_connections = 1000 log-slow-queries long_query_time = 5 注 max_connections 为允许的最大连接数 log-slow-queries 打开低速查询日志 long_query_time 低速查询的秒数(运行一句sql达到此时间记录在日志里) 然后COPY 它为 /etc/my.cnf 文件 # cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf 添加mysql用户及用户组 # groupadd mysql # useradd -g mysql mysql 修改mysql目录权限 # chown -R root /usr/local/mysql # chgrp -R mysql /usr/local/mysql # chown -R mysql /usr/local/mysql/data 生成mysql系统数据库 # /usr/local/mysql/scripts/mysql_install_db --user=mysql& 启动mysql服务 # /usr/local/mysql/bin/mysqld_safe --user=mysql& 如出现 Starting mysqld daemon with databases from /usr/local/mysql/data 代表正常启动mysql服务了, 按Ctrl + C 跳出 修改 mysql 的 root 密码 # /usr/local/mysql/bin/mysqladmin -u root -p password 123456 回车出现 Enter password: 最开始密码默认为空 继续回车即可 123456 即为你的新密码 安装GD库(让PHP支持GIF,PNG,JPEG) 首先下载 jpeg6,libpng,freetype 并安装模块 wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz wget http://nchc.dl.sourceforge.net/sourc...g-1.2.8.tar.gz wget http://keihanna.dl.sourceforge.net/s...-2.1.10.tar.gz wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz 安装 jpeg6 建立目录 # mkdir /usr/local/jpeg6 # mkdir /usr/local/jpeg6/bin # mkdir /usr/local/jpeg6/lib # mkdir /usr/local/jpeg6/include # mkdir /usr/local/jpeg6/man # mkdir /usr/local/jpeg6/man/man1 # cd /root/soft # tar -zxf jpegsrc.v6b.tar.gz # cd jpeg-6b # ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static # make; make install 安装libpng # cd /root/soft # tar -zxf libpng-1.2.8.tar.gz # cd libpng-1.2.8 # cp scripts/makefile.std makefile # make; make install 安装 freetype # cd /root/soft # tar -zxf freetype-2.1.10.tar.gz # cd freetype-2.1.10 # ./configure --prefix=/usr/local/freetype # make;make install 安装最新的GD库 # cd /root/soft # tar -zxf gd-2.0.33.tar.gz # cd gd-2.0.33 # ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png --with-zlib --with-freetype=/usr/local/freetype/ # make; make install 安装最新的Curl库 # cd /root/soft # wget http://curl.haxx.se/download/curl-7.15.0.tar.gz # tar -zxf curl-7.15.0.tar.gz # ./configure --prefix=/usr/local/curl # make; make install 安装PHP 由于php5需libxml2的支持, 所以先下载并安装libxml2 # cd /root/soft # wget http://ftp.gnome.org/pub/GNOME/sourc...-2.6.19.tar.gz # tar -zxf libxml2-2.6.19.tar.gz # cd libxml2-2.6.19 # ./configure --prefix=/usr/local/libxml2 # make; make install 安装 libxslt # cd /root/soft # wget http://ftp.gnome.org/pub/GNOME/sourc...-1.1.15.tar.gz # tar -zxf libxslt-1.1.15.tar.gz # cd libxslt-1.1.15 # ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 # make; make install # tar -zxf php-5.0.5.tar.gz # cd php-5.05 # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --enable-ftp --with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/lib --with-png --with-freetype-dir=/usr/local/freetype # make # make install 其中./configure 后的 --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2 是必要的选项 --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png --with-zlib-dir=/usr/lib --with-freetype-dir=/usr/local/freetype 这是让PHP支持GD库的配置选项 --with-curl=/usr/local/curl 支持CURL库 --enable-ftp 打开FTP库函数支持 --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt 让PHP支持SOAP, 上面这些一般用得少, 可以去掉 配置 httpd.conf 让apache支持PHP # vi /usr/local/apache/conf/httpd.conf 找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 重启apache # /usr/local/apache/bin/apachectl restart 在你Web目录里建一内容为 <? phpinfo(); ?> PHP文件, 输入URL地址查看PHP配置是否正确 安装 phpmyadmin 下载 # cd /root/soft # wget http://nchc.dl.sourceforge.net/sourc...6.4-pl3.tar.gz # tar -zxf phpMyAdmin-2.6.4-pl3.tar.gz # vi phpMyAdmin-2.6.4-pl3/config.inc.php 找到 $cfg['Servers'][$i]['auth_type'] = 'config'; 将config 改为 http 保存后 mv phpMyAdmin-2.6.4-pl3 /你的phpmyadmin目录 关于mysql4.1-4移植4.0旧数据库中文乱码问题的解决方法 进入phpmyadmin管理 建立你数据库名并选上 gb2312_bin 的编码 然后导入你先前备份好的SQL文件, 导入时选择 文件的字符集:gb2312 完成后就OK了 注: PHP连接mysql4.1和5.0 数据库后需指定字符集 需执行如 mysql_query("SET NAMES 'gb2312' "); 否则会产生中文乱码问题! |