Saturday, December 21, 2024

服务器架设:Debian/Ubuntu搭建LAMP教程

本文是在独立服务器或VPS中使用Debian/Ubuntu操作系统搭建LAMP完整教程,适合初学者,本文会保持更新。

第一部分

LAMP 是Linux、Apache、MySQL、PHP的首字母缩写,也就是在一台Linux服务器上安装带有PHP和Mysql支持的Apache网站服务器。

UAMP 是Ubuntu Linux、Apache、MySQL、PHP的首字母缩写,是指在一台Ubuntu Linux服务器上安装带有MySQL和PHP支持的Apache网站服务器。

1. 说明

本文以BurstNET VPS主机为例,操作系统是Debian 5 / Ubuntu 10.04,独立服务器操作方法与VPS相同。域名请做好DNS指向。

安装前,用这个命令升级必要的软件包:

apt-get install update

2. 安装 Apache2 和 PHP5

Apache2 和 PHP5已经包含在 Debian/Ubuntu 软件包中了,一般来说,系统已经默认安装完毕。如果没有,你可以使用下面的命令轻松安装它:

apt-get install apache2 php5 libapache2-mod-php5 php5-gd php-pear php5-suhosin

系统会提示已需要安装的版本并自动安装,如有更新,系统会显示需要更新的版本。

安装 Apache 后,你可以启动:

/etc/init.d/apache2 start

重新启动Apache命令为:

/etc/init.d/apache2 restart

Apache 的配置文件位于: /etc/apache2/apache2.conf
Apache 的默认web文件夹在: /var/www
PHP的配置文件位于:/etc/php.ini

3. 安装 MySQL5

执行下面的命令来安装 MySQL:

apt-get install mysql-server mysql-client php5-mysql

然后启动 MySQL 服务器:

/etc/init.d/mysql start

安装完毕后我建议运行一下mysql_secure_installation来做一些基本的安全设置,它会检查root密码、移除anonymous帐号、禁止root远程登录、移除test数据库。

运行下面的命令来为 root 用户设置一个密码(否则的话任何人都可以访问你的MySQL数据库!):

mysqladmin -u root -p password 12345678

Enter password: 输入root密码以确认修改,一般root初始密码为空(上面的12345678为你想要的密码)

使用root帐号进入mysql:

mysql -u root -p

创建数据库:

create database site1dbname;

给新创建的数据库制定一个用户和密码:

grant all on site1dbname.* to ‘site1dbuser’ identified by ‘site1dbpwd’;

重新启动 MySQL:

/etc/init.d/mysql restart

mysql的配置文件位于:/etc/mysql/my.cnf

好了,一个LAMP 服务器搭建完成。

第二部分

增加虚拟站点配置:

vim /etc/apache2/sites-available/mysite

添加内容如下:

<VirtualHost *:80>
ServerName www.mysite.com
ServerAlias mysite.com www2.mysite.com
DocumentRoot /var/www/mysite/
</VirtualHost>

激活这个虚拟站点:

a2ensite mysite

apache2重新加载配置:

/etc/init.d/apache2 reload

如果需要添加多个虚拟机,重复上述步骤即可。

如果想启动rewrite,需要在终端运行:

a2enmod rewrite

然后重启Apache:

/etc/init.d/apache2 restart

实例:安装WordPress设置固定链接教程
1.安装Wget

apt-get install wget

2.进入虚拟机所在目录

cd /var/www

3.下载WordPress到服务器并解压

wget http://wordpress.org/latest.tar.gz
tar zxvf latest.tar.gz

4.修改WordPress目录属性

chmod -R 777 /var/www/wordpress
chgrp -R ftp /var/www/wordpress
chown -R www /var/www/wordpress

5.修改apache2的虚拟机配置文件(位于/etc/apache2/sites-enabled/),在<VirtualHost *:80>和</VirtualHost>中间加入下面代码

<Directory “/var/www”>
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.html index.htm index.php
AllowOverride all
Order Deny,Allow
Allow from all
</Directory>

6.apache2重新加载配置:

/etc/init.d/apache2 reload

第三部分

1.安装phpMyAdmin

如果你觉得使用命令行管理MySQL很不方便,可以安装phpMyAdmin。

phpMyAdmin是一个基于web的数据库管理软件,在apache下很容易安装和配置。

你所需要做的就是:

apt-get install phpmyadmin

phpmyadmin配置文件在/etc/phpmyadmin目录。
在apache下安装phpmyadmin,你仅需要在/etc/apache2/apache2.conf中加入以下这行:

Include /etc/phpmyadmin/apache.conf

现在重新启动 Apache:

/etc/init.d/apache2 restart

用浏览器打开:http://domain/phpmyadmin 输入用户名密码就可以管理MySQL数据库了。

2.用vsftpd配置FTP服务

一般用户都会选择用FTP上传的方式来管理自己的网站,所以需要配置FTP服务。

安装vsftpd:

apt-get install vsftpd

安装好之后,编辑配置文件/etc/vsftpd.conf:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

以上每行解释如下:
1.禁止匿名用户访问ftp
2.允许本地用户访问ftp
3.允许写操作
4.上载文件的时候,使用的掩码是022

重新启动 vsftpd:

/etc/init.d/vsftpd restart

设定FTP目录属性,如/var/www 目录属性:

chmod -R 777 /var/www

递归地给此目录下所有文件和子目录的读、写、执行权限

chgrp -R ftp /var/www

递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组

增加FTP用户

adduser 用户名

设定用户密码

passwd 用户名

添加用户到指定组

adduser 用户名 组名

修改FTP用户的上传目录可以修改/etc/passwd

安装配置完毕,重新启动 vsftpd即可:

/etc/init.d/vsftpd restart

常用参数意义,视具体情况配置:

#anonymous_enable 是否允许匿名ftp,如否则选择NO,默认允许匿名访问,
注意当允许是所有用户均视为匿名登录。
#local_enable 是否允许本地用户访问,是指VSFTP所在机器上的注册用户。
#local_umask=022 默认的umask码
#write_enable 是否允许本地用户修改和删除
#local_umask=022 FTP上传文件权限 ,默认是077
#anon_upload_enable=YES 是否允许匿名用户上传
#anon_mkdir_write_enable=YES 是否允许匿名用户的写和创建目录的权限
#dirmessage_enable=YES 当切换目录时,是否显示该目录下message隐藏文件的内容
#xferlog_enable=YES 是否激活上传和下载的日志
#connect_from_port_20=YES 是否启动FTP数据端口20的连接请求
#chown_uploads=YES 是否改变上传文件的所有者
#chown_username=whoever 改变上传文件的所有着为whoever
#xferlog_file=/var/log/vsftpd.log 上传/下载日志文件所默认的路径
#xferlog_std_format=YES 是否使用标准的ftpd xferlog日志格式
#idle_session_timeout=600 是否将在用户会话空闲10分钟后被中断
#data_connection_timeout=120 是否将在数据连接空闲2分钟后被中断
#nopriv_user=ftpsecure 是否运行vsftpd需要的非特殊系统用户默认nobody
#async_abor_enable=YES 是否是否允许运行特殊的FTP命令async
#ascii_upload_enable=YES 是否启用上传的ascii传输方式
#ascii_download_enable=YES 是否启用下载的ascii传输方式
#ftpd_banner=Welcome to blah FTP service. 用户连接服务器后显示信息
#deny_email_enable=YES 是否允许某些匿名用户使用邮件地址(默认的)
chroot_local_user=NO
chroot_list_enable=YES

VSFTPD的文件结构是很简洁的,主要包括:
/usr/sbin/vsftpd —- VSFTPD的主程序
/etc/init.d/vsftpd —- 启动脚本
/etc/vsftpd.conf —- 主配置文件
/etc/pam.d/vsftpd —- PAM认证文件
/etc/ftpusers —-记录不允许访问FTP服务器的用户名单
/home/ftp —-Vsftpd的根目录
此外VSFTPD的日志文件为/var/log/vsftpd.log。

Vsftpd的管理控制:
/etc/init.d/vsftpd start //启动vsftpd
/etc/init.d/vsftpd stop //停止vsftpd
/etc/init.d/vsftpd restart //重新启动vsftpd
/etc/init.d/vsftpd reload //重新导入vsftpd

更多的配置内容请访问vsftpd的官方网站查看:
http://vsftpd.beasts.org/vsftpd_conf.html

5 comments

  1. 我做到安装好phpmyadmin之后,载浏览器中打开http://domain/phpmyadmin 就不行了.


  2. qiaodahai:

    提示什么信息?是不是你的源有问题。

    不知道啊.
    可能是源有问题吧.

  3. 提示什么信息?是不是你的源有问题。

  4. 我照着做到这里就失败了.
    apt-get install mysql-server mysql-client php5-mysql

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.