阿里云ECS服务器搭建LAMP环境
一、阿里云ECS
- CPU:8核
- 内存:16G
- 系统盘:20G
- 系统:CentOS 6.5
- 数据盘:500G(挂载点/mnt)
二、所需工具
由于Linux使用ssh连接,所以使用Xshell 5软件作为连接工具,当然你也可以使用其他ssh工具(连接服务器方法自行百度)。
三、挂载数据盘:
1、 查看硬盘:df -h
只有挂载的才可以看的到。
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 6.1G 13G 33% /
tmpfs 750M 0 750M 0% /dev/shm
2、查看所有硬盘:fdisk -l
Disk /dev/xvda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00073f45
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 2611 20970496 83 Linux
Disk /dev/xvdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbf36230f
Device Boot Start End Blocks Id System
/dev/xvdb1 1 2610 20964793+ 83 Linux
3、对/dev/xvdb进行分区
# fdisk /dev/xvdb
依次执行命令:
n:增加分区
p:主分区
1:第一个分区
回车两次,默认选择所有磁道
w:保存
4、格式化新分区(格式化的时间根据硬盘大小有所不同)
# mkfs.ext4 /dev/xvdb1
5、添加启动时的自动挂载
# echo '/dev/xvdb1 /mnt ext4 defaults 0 0' >> /etc/fstab
# mount -a #挂载fstab内的所有盘
重启系统(reboot), 使用df -h命令查看,显示 /dev/xvdb1 493G 70M 467G 1% /mnt
,说明挂载成功。
四、安装Apache
1、更新yum update
(非必须)
2、安装yum install httpd
,然后按y
3、运行命令:
service httpd start # 立刻启动Apache
service httpd status # 验证httpd服务的状态
使Apache可以自动启动:
chkconfig --levels 235 httpd on
查看一下此服务的启动级别
chkconfig --list httpd
只要确定在3或者5的状态下是on就可以了。
4、在数据盘创建相应目录
mkdir /mnt/www # 项目代码目录
mkdir /mnt/httpd # Apache日志目录
mkdir /mnt/httpd/logs # Apache日志目录
5、设置Apache配置文件vim /etc/httpd/conf/httpd.conf
,按i进入编辑模式
去除ServerName www.example.com:80
前面的#
,填写你自己的域名
修改DocumentRoot "/var/www/html"
为DocumentRoot "/mnt/www"
修改<Directory "/var/www/html">
为<Directory "/mnt/www">
修改访问日志目录为CustomLog /mnt/httpd/logs/access_log
修改错误日志目录为ErrorLog /mnt/httpd/logs/error_log
<Directory />
Options FollowSymLinks
AllowOverride None # 修改为All
</Directory>
<Directory "/mnt/www">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None #改为All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
按键盘esc键输入:wq
保存退出,重启Apache(service httpd restart
)
编写测试页面 vim /mnt/www/test.html
,写入任意内容保存,打开浏览器访问http://IP地址/test.html
能正常显示就安装正确了。
五、安装PHP
1、安装
# yum install php php-mbstring php-mysql php-gd
2、配置php.ini
# vim /etc/php.ini
设置默认时区;date.timezone =
改为date.timezone = PRC
,保存退出(:wq
)
3、配置Apache加载php(如果没有自动加载PHP的话,需要使用下面的配置手动加载)
# vim /etc/httpd/conf/httpd.conf
在加载扩展下面加入以下代码:
#LoadPHP
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
把DirectoryIndex index.html
修改为DirectoryIndex index.html index.php
重启Apache,编写phpinfo测试页面,打开浏览器访问查看php解析是否正常。
六、安装MySQL
1、安装
# yum install mysql-server
2、配置数据库存放地址到挂载的数据盘
bash mkdir /mnt/mysql # 创建mysql数据库存放目录
修改[mysqld] 中的 datadirvim /etc/my.cnf
datadir=/mnt/mysql
继续在[mysqld] 中加入
max_allowed_packet=100M
解决使用mysql客户端运行sql文件报错提示包太大的问题。
此处修改数据库存放位置只适合新安装mysql没有启动创建账号,如果mysql运行后修改需要停止mysql移动数据库后修改到移动的地址。
保存配置文件esc键然后输入:wq
3、启动mysql并设置开机启动
/sbin/chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start # or service mysqld start
4、创建mysql管理员账号并且开启远程访问
设置root账户密码
mysqladmin -u root password 123456
mysql -u root -p
连接mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> flush privileges; # 刷新生效
5、配置编码vim /etc/my.cnf
在[mysqld]下添加
default-character-set=utf8
在[client]下添加(非必须)
default-character-set=utf8
重启mysql服务service mysqld restert
重新登录mysql看看修改成功否,show variables like 'character%'
,如果显示如下信息表示修改成功了
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
七、Apache安全配置
目录浏览默认地是被启用的。要禁用这个特性,应编辑http.conf
文件,而且对每一个"Directory”指令,应清除"Indexs”。
<Directory "/mnt/www">
Options Indexes FollowSymLinks # 在Indexes 前面添加减号(-Indexes)
AllowOverrride None
Order allow,deny
Allow from all
</Directory>
隐藏web服务器请求文件头详细信息
默认:
HTTP/1.1 200 OK
Date: Sun, 27 Apr 2008 11:56:46 GMT
Server: Apache/2.2.8 (Unix) DAV/2 PHP/5.2.5 with Suhosin-Patch
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "387a5-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html
修改Apache配置文件
ServerTokens OS
改为 ProductOnly
ServerSignature On
改为 off
修改后的头信息请求
HTTP/1.1 200 OK
Date: Sun, 27 Apr 2008 11:57:40 GMT
Server: Apache
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "387a5-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html