一、阿里云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