LAMP即由Linux+Apache+Mysql+PHP组成的一个WEB开发平台

始于2009年2月22日 PM
版本号:Debian-LAMP-V2.0-20090922, 2009年2月22日首版 2009年9月22日加入https功能

转载请注明出处,谢谢!
本文中难免有不足、遗漏、错别字和句子不通之处,如发现、或者有更新改变之处,请与我联系以及时修正和完善!

系统环境 : Debian GNU/Linux 5.03

使用说明:
绿色加粗字体的绝大部分是输入的命令和系统输出显示的结果。

LAMP即由Linux+++PHP组成的一个WEB开发平台,以Linux为 OS,我们这里选择Debian 5.0

因环境需要,我只安装Debian GNU/Linux
5.0的最基本的系统,因此在装完Debian后,为了安装apache,mysql,php以及使用的一些工具等就安装了以下所需要软件:

#apt-get install vim elinks gcc g++ make libncurses5-dev libpng12-dev
libjpeg62-dev zlib1g-dev libxml2-dev libssl-dev openssl

上述所安装的软件介绍:
vim : vim编辑器完整版
elinks : linux shell下的纯文本浏览器,类似IE、FireFox,命令格式 : elinks [URL]
gcc g++ make : 编译源代码时使用
libncurses5-dev : 安装mysql时需要的一个lib
libpng12-dev libjpeg62-dev zlib1g-dev libxml2-dev : php扩展的一些lib
libssl-dev : apache ssl扩展的lib

1,安装apache
到官方网站下载apache : www.apache.org

http://httpd.apache.org/download.cgi
apache版本:httpd-2.2.11

server:/#cd /usr/local/src
server:/usr/local/src/# wget
http://apache.freelamp.com/httpd/httpd-2.2.11.tar.gz
server:/usr/local/src/# tar -zxvf httpd-2.2.11.tar.gz

配置apaceh,根据需要将相关文件安装到相关的目录中去。依个人需要而定,请了解以下各参数的作用后再进行下一步:
server:/usr/local/src/lamp/httpd-2.2.11#./configure
–prefix=/usr/local/apache2  –enable-so –enable-ssl –enable-rewrite
–with-mpm=worker –enable-dav –enable-maintainer-mode –enable-cgi
server:/usr/local/src/lamp/httpd-2.2.11#make & make install
server:/usr/local/src/lamp/httpd-2.2.11#cp
/usr/local/apache2/bin/apachectl /etc/init.d/apache2

编辑http.conf文件进行相关文件的配置:
#vi /usr/local/apache2/conf/httpd.conf
根据你自已的需求更改相关参数:
比如:
DocumentRoot “/home/www/html”                  #这个目录你先需先创建,否则下面在启动apache过程中会出错.
<Directory “/home/www/html”>
User www
Group www
等…
启动apache:

#/etc/init.d/apache2 start

访问测试 :
打开你的IE、FireFox或Elink:  http://youserveripaddress/
若有问题,请检查你的安装步骤以及配置文件。

配置https:

首先使用openssl为apache制作ssl证书:

步骤1:生成密钥
命令:
#openssl genrsa 1024 > server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件

步骤2: 生成证书请求
命令:
#openssl req -new -key server.key > server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,根据你的资料一一输入:
得注意一项:Common Name (eg, YOUR name) []:*.ptubuntu.com
这个要跟你的域名后缀相附,否则在客户端请求证书时会提示“服务器名称与证书名称匹配”。

步骤3: 生成证书请求
命令:
#openssl req -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天。

把得到的server.key和server.crt文件拷贝到apache的对应目录:

#mkdir /usr/local/apache2/conf/servercertificate
#cp server.key /usr/local/apache2/conf/servercertificate
#cp server.csr /usr/local/apache2/conf/servercertificate
#cp server.crt /usr/local/apache2/conf/servercertificate

编辑apache配置文件,启用https[ssl]扩展功能:

#vi /usr/local/apache2/conf/httpd.conf

找到:
#Include conf/extra/httpd-ssl.conf
把注释去除:
Include conf/extra/httpd-ssl.conf

然后编辑ssl配置文件:
#vi /usr/local/apache2/conf/extra/httpd-ssl.conf

根据自已情况更改以下内容:

1,用ssl启动的虚拟主机:

<VirtualHost _default_:443>

#   General setup for the virtual host
DocumentRoot “/home/www/html”
ServerName youdoman.name.org:443
ServerAdmin ruijin@itcht.com
ErrorLog “/usr/local/apache2/logs/error_log”
TransferLog “/usr/local/apache2/logs/access_log”

2,指定证书的相关文件:

#   Server Certificate:
#   Point SSLCertificateFile at a PEM encoded certificate.  If
#   the certificate is encrypted, then you will be prompted for a
#   pass phrase.  Note that a kill -HUP will prompt again.  Keep
#   in mind that if you have both an RSA and a DSA certificate you
#   can configure both in parallel (to also allow the use of DSA
#   ciphers, etc.)
#SSLCertificateFile “/usr/local/apache2/conf/server.crt”
SSLCertificateFile “/usr/local/apache2/conf/extra/certificate/server.crt”
#SSLCertificateFile “/usr/local/apache2/conf/server-dsa.crt”

#   Server Private Key:
#   If the key is not combined with the certificate, use this
#   directive to point at the key file.  Keep in mind that if
#   you’ve both a RSA and a DSA private key you can configure
#   both in parallel (to also allow the use of DSA ciphers, etc.)
#SSLCertificateKeyFile “/usr/local/apache2/conf/server.key”
SSLCertificateKeyFile “/usr/local/apache2/conf/extra/certificate/server.key”
#SSLCertificateKeyFile “/usr/local/apache2/conf/server-dsa.key”

重启apahce:
#/etc/init.d/apache2 restart

在浏览器输入:
https://youdoman.name.org/

就会看到相关信息。

2,安装mysql

到mysql官方下载:  www.mysql.com
http://dev.mysql.com/downloads/mysql/5.0.html
http://dev.mysql.com/downloads/mysql/5.0.html#source
mysql版本:mysql-5.0.77

server:/#cd /usr/local/src
server:/usr/local/src/#wget
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.77.tar.gz/from/http://mirrors.24-7-solutions.net/pub/mysql/
server:/usr/local/src# tar -zxvf mysql-5.0.77.tar.gz
server:/usr/local/src# cd mysql-5.0.77
请看INSTALL-SOURCE文件,它会教你如何一步一步安装Mysql
server:/usr/local/src/mysql-5.0.77#vi INSTALL-SOURCE

增加运行mysql的用户mysql和组mysql:
server:/usr/local/src/mysql-5.0.77#groupadd mysql
server:/usr/local/src/mysql-5.0.77#useradd -g mysql mysql

配置mysql:根据需要将相关文件安装到相关的目录中去。依个人需要而定,请了解以下各参数的作用后再进行下一步:
server:/usr/local/src/mysql-5.0.77#./configure –prefix=/usr/local/mysql –enable-thread-safe-client
server:/usr/local/src/mysql-5.0.77#make & make install
server:/usr/local/src/mysql-5.0.77#cp support-files/my-medium.cnf
/home/service/mysql/config/etc/my.cnf
server:/usr/local/src/mysql-5.0.77#cd /usr/local/mysql
server:/usr/local/mysql#chown -R mysql .
server:/usr/local/mysql#chgrp -R mysql .
server:/usr/local/mysql#./bin/mysql_install_db –user=mysql
server:/usr/local/mysql#chown -R root .
server:/usr/local/mysql#chown -R mysql var
server:/usr/local/mysql#./bin/mysql_install_db –user=mysql
server:/usr/local/mysql#./bin/mysqld_safe –user=mysql &
server:/usr/local/mysql#cp share/mysql/mysql.server /etc/init.d/mysqld
启动mysql:
server:/usr/local/mysql#/etc/init/mysqld start

查看mysql是否启动成功:
server:/usr/local/mysql#netstat -tnlp | grep mysql
如果有看到这一行:
tcp        0      0 0.0.0.0:3306 0.0.0.0:*
LISTEN      1328/mysqld
恭喜你,这说明mysql启动成功.

出现上面这个说明你成功安装上了.

server:/usr/local/mysql#/usr/local/mysql/bin/mysql

A、添加root密码
server:/usr/local/mysql#/usr/local/mysql/bin/mysqladmin -u root password “your password”
your password为你设置访问mysql的密码

B、配置库文件搜索路径及环境变量
server:/usr/local/mysql#echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf
server:/usr/local/mysql#ldconfig -v
server:/usr/local/mysql#export PATH=$PATH:/usr/local/mysql/bin

C、再访问mysql测试,
server:/usr/local/mysql#/usr/local/mysql/bin/mysql -u root  输入刚才设置mysql的root的密码就可以进入了。
使用:
server:/usr/local/mysql# /usr/local/mysql/bin/mysql -u root -p   可以访问mysql

3,安装PHP
到php官方网站下载 : www.php.net
http://cn.php.net/get/php-5.2.8.tar.gz/from/a/mirror

server:/#cd /usr/local/src
server:/usr/local/src#wget
http://cn.php.net/get/php-5.2.8.tar.gz/from/this/mirror
server:/usr/local/src#cd -5.2.8

请先看INSTALL文件,它将协助你如何安装PHP
server:/usr/local/src/#vi INSTALL

server:/usr/local/src#cd php-5.2.8

配置php,将php与mysql以及apache关联,根据需要将相关文件安装到相关的目录中去。依个人需要而定,请了解以下各参数的作用后再进行下一 步:
server:/usr/local/src/php-5.2.8#./configure
–with-mysql=/usr/local/mysql –with-apxs2=/usr/local/apache2/bin/apxs
–with-gd –with-zlib –with-gettext –with-zlib-dir –with-jpeg-dir
–enable-mbstring –with-iconv-dir –with-pdo-mysql=/usr/local/mysql
–prefix=/usr/local/php

server:/usr/local/src/php-5.2.8#make & make install
server:/usr/local/src/php-5.2.8#cp php.ini-dist /usr/local/php/lib/php.ini

编辑apache的配置文件,并加入php相关参数:
server:/usr/local/src/php-5.2.8# vi /usr/local/apache2/conf/httpd.conf
在: AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
下面增加:
AddType application/x-httpd-php .php
以及在:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
加入index.php,以便让php的程序成为默认运行的程序:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
重启apache,以便让apache载入php模块:
server:/usr/local/src/php-5.2.8# /etc/init.d/apache2 restart

测试php是否安装成功,是否跟mysql连接成功:
在 DocumentRoot,我们这里是:/home/www/html下,编辑phpinfo程序,即phpinfo.php,内容为:
<?php
phpinfo();
?>

打开你的IE、FireFox或Elink:  http://youserveripaddress/phpinfo.php
如果你看到完整的phpinfo信息时,说明你安装成功了,恭喜,恭喜!呵。
例:

PHP Version 5.2.8

System  Linux server 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686
Build Date      Feb 22 2009 05:08:57
Configure Command       ‘./configure’ ‘–with-mysql=/usr/local/mysql’
‘–with-apxs2=/usr/local/apache2/bin/apxs’ ‘–with-gd’ ‘–with-zlib’
‘–with-gettext’ ‘–with-zlib-dir’ ‘–with-jpeg-dir’ ‘–enable-mbstring’
‘–with-iconv-dir’ ‘–with-pdo-mysql=/usr/local/mysql’
‘–prefix=/usr/local/php’
‘–with-config-file-path=/home/service/web/config/php/lib’
Server API      Apache 2.0 Handler
Virtual Directory Support       enabled
Configuration File (php.ini) Path       /home/service/web/config/php/lib
Loaded Configuration File       (none)
Scan this dir for additional .ini files (none)

4.安装phpMYadmin
server:/usr/local/mysql#wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.2.2/phpMyAdmin-3.2.2-all-languages.tar.gz?use_mirror=nchc
server:/usr/local/mysql#tar xvf -3.2.2-all-languages.tar.gz
server:/usr/local/mysql# mv phpMyAdmin-3.2.2-all-languages phpmyadmin
server:/usr/local/mysql# mv phpmyadmin /home/www/html/.
server:/usr/local/mysql# cd /home/www/html/
server:/usr/local/mysql#cd phpmyadmin/
server:/usr/local/mysql#cp libraries/config.default.php .
server:/usr/local/mysql#mv config.sample.inc.php config.inc.php

附:
关于Mysql导入数据库文件最大限制2048KB的修改解决办法

引子:
今天为单片机信息网进行服务器空间的转移~~~先顺利将Mysql用phpmyadmin导出~~
然后在新服务器上建好数据库后,然后进行导入!可是因为数据库的Gzip文件大于2MB。所以在导入时就提示说超过2048K的错误不让导入….于是就引出了此文的解决办法,呵呵

解决办法:

1、打开php.ini。找到 upload_max_filesize 、 memory_limit 、 post_max_size 这三个参数!
(在默认的情况下,php只允许最大的上传数据为2M,也就是2048KB,而极限的最大使用内存memory_limit也仅为128M,Post的最大也为2M)

2、按您的服务器的实际性能配置进行如下改动:(注意:以下是按我的服务器性能有硬件配置进行的更改..)

upload_max_filesize = 8M (上传最大极限设定为8M,这个应该足够一般的文件WEB上传了)
memory_limit = 512M (因为服务器的内存为2GB,所以这里加到512M不过份吧,呵)
post_max_size = 8M (Post数据最大也设置为8MB,这个跟upload_max一样)

原创文章,转载请注明: 转载自PT Ubuntu Blog

本文链接地址: http://www.ptubuntu.com/2009/09/3093.html

Share

{ 发表评论? }

  1. 卢松松

    不错 了解了一下

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Verify Code   If you cannot see the CheckCode image,please refresh the page again!

Pingback & Trackback

  1. PT Ubuntu Blog » 使用APC加速PHP 代码安装 - Pingback on 2009/10/07/ 17:42