Differences between revisions 6 and 7
Revision 6 as of 2013-05-12 06:42:56
Size: 5680
Editor: BnW.h
Comment: 词条确实是首字母缩写,故全部改为大写
Revision 7 as of 2013-05-24 05:35:56
Size: 5722
Editor: ?Kukovinets Andrey
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
~-[[DebianWiki/EditorGuide#traduction|Translation(s)]] : [[LaMp|English]] - [[fr/Lamp|Français]] - 简体中文 -~ ~-[[DebianWiki/EditorGuide#traduction|Translation(s)]] : [[LaMp|English]] - [[ru/LaMp|По-русски (Russian)]] - [[fr/Lamp|Français]] - 简体中文 -~

Translation(s) : English - По-русски (Russian) - Français - 简体中文


LAMP, Linux Apache Mysql PHP

  • 部分人认为, PHP 应该改为 Python 或 Perl。

  • .. Apache 也可被 lighttpd 替换!

安装

在开始安装之前,确保您的发行版本已是最新的(“#” 号表示您必须以 root 身份运行才行):

 # aptitude update && aptitude upgrade #更新软件列表,如果有软件可以升级则安装升级

mysql

接下来安装 mysql,使用下面命令:

 # aptitude install mysql-server mysql-client

安装 mysql 服务器后应立即修改 root 密码: * Lenny 用户这步就没有多大必要了,在安装 mysql 过程中就已经要求设置根用户的密码了。

 # /usr/bin/mysqladmin -u root password 'enter-your-good-new-password-here'

千万别用 root 帐号来连接使用数据库,这是用来进行数据库管理操作的特权帐号,应该另外建立帐号来连接 MySQL 数据库,可以用类似 phpmyadmin 的控制面板来向 MySQL 数据库添加帐号,也能方便的给特定帐号创建或赋予数据库权限。

apache2

使用下面命令安装 Apache 服务器:

 # aptitude install apache2 apache2-doc

配置 Apache 网络服务器的用户目录

启用模块

# a2enmod userdir

在 /etc/apache2/mods-enabled/userdir.conf 中,如下配置 Apache 模块 userdir :

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride All
                Options MultiViews Indexes SymLinksIfOwnerMatch
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

以普通用户身份创建目录(非根用户):

$mkdir /home/$USER/public_html

以根用户身份更改用户组,重启服务器:

# chgrp www-data /home/<username>/public_html
# service apache2 restart

如果通过 apache 访问用户主目录时遇到“Forbidden”错误,确认 /home/username 的权限为 drwxr-xr-x,否则使用以下命令修改权限:

# chmod 755 /home/<username>

要提供 PHP 功能,需根据后文指令安装 PHP,并检查确认 /etc/apache2/mods-available/php5.conf 配置正确:

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_value engine Off
    #    </Directory>
    #</IfModule>
</IfModule>

把网站内容放在 ~/public_html/ 目录,并在浏览器地址栏输入 http://localhost/~username ,确认正常。

"P" 部分的安装

在 Debian 里安装 LAMP 的 PHP 软件包非常简单,只需以 root 用户在命令行运行如下命令:

 # aptitude install php5 php5-mysql libapache2-mod-php5

如果你更喜欢 Perl,可以安装下面软件:

 # aptitude install perl libapache2-mod-perl2

如果想要 Python,用以下命令安装:

 # aptitude install python libapache2-mod-python

配置

Apache2 配置文件:/etc/apache2/apache2.conf

必要时,可以修改此文件,不过,对于简单的应用,没必要修改此文件,因为现在可以用 /etc/apache2/conf.d/ 里的配置文件。

=== PHP 测试=== 要测试 PHP 是否装好,编辑这个文件:/var/www/test.php:

 # nano /var/www/test.php

添加如下内容:

<?php phpinfo(); ?>

然后,在浏览器地址栏输入 http://SERVERIP/test.php ,可以看到 PHP 的信息。

phpmyadmin

安装 phpmyadmin,可以使配置 PHP 更简单:

 # aptitude install phpmyadmin

要使用你网站上的To have access to phpMyAdmin on your website (比如 http://example.com/phpmyadmin/ ),只需在 /etc/apache2/apache2.conf 里加入以下行(只有 Squeeze 之前的版本需要修改,从 Debian 6.0 安装脚本会自动作好软链接: /etc/apache2/conf.d/phpmyadmin.conf -> ../../phpmyadmin/apache.conf ):

Include /etc/phpmyadmin/apache.conf

重启 Apache:

 # /etc/init.d/apache2 restart

用浏览器访问 http://SERVERIP/phpmyadmin/ ,就可以开始使用,用你桌面计算机机器名或 IP 地址替换 SERVERIP,或使用 localhost 或回环 IP 127.0.0.1 替换也可以。

PHP: /etc/php5/apache2/php.ini

PHP 配置的一个常见问题是启用 MySQL,编辑该文件,并取消以下行的注释(提示:搜索 mysql)

extension=mysql.so

注,因为现在使用 conf.d,已经不需要这个修改。

MySql : /etc/mysql/my.cnf

你可以从 /usr/share/doc/mysql-server/examples 找到配置范例。

另见

本指南主要依据 http://linux.justinhartman.com/Setting_up_a_LAMP_Server