本文是在独立服务器或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