1.1 设置 HOSTNAME[size=1.2em]¶echo "HOSTNAME=hostname" >> /etc/sysconfig/networkhostname "hostname"1.2 配置 VIM[size=1.2em]¶ 注意:如果系统中没有安装 vim,可以试试看 vi,只是没有 vim 好用和好看罢了。如果没有 vim 自然就直接跳到下面的 1.3 了。或者先安装也行。 使之彩色显示代码,同时还支持行号标记和鼠标定位。编辑 vim 配置文件, vim /etc/vimrc从键盘输入 i 进入编辑模式。按 PgDn 到文本最后,在末尾分三行输入: syntax onset nuset mouse=a从键盘输入 Ctrl+c,然后 :wq 保存、退出。 1.3 更新 HOSTS 配置文件 /ETC/HOSTS[size=1.2em]¶这个文件的作用跟 Windows 中的 HOSTS 类似,可以给本地系统直接解析域名,这里设置了之后,这个系统访问 cnzhx.net 就不需要访问域名解析服务器了。 输入 vim /etc/hosts打开编辑。 在最后添加 50.116.13.218 cnzhx.net保存退出。 1.4 配置网络[size=1.2em]¶其实一个服务器就相当于一台个人电脑,只不过呢,IP 地址是固定的公网的 IP。因而可以在自己的域名管理系统那里将域名的 IP 指定为这个特定的 IP,然后别人就可以通过域名访问到这个 IP 地址所在的服务器(域名解析服务器会做转换)。 然后这个服务器上安装了 Apache + MySQL 就可以提供网站服务了。 默认情况下,Linode VPS 使用 DHCP 来配置网络,这样做需要 VPS 运行 dhcp 客户端进程来从主控制台获取本 VPS 的 IP。当然会浪费一些资源了(CPU和内存),而且还需要开放 63 端口。所以这里采取静态网络配置来避免这些问题。 网络配置与选择的 VPS 服务商的配置有关,一般都会有说明的。 如果要增加 IPv6 支持,请参考 Linode VPS 上启用 IPv6 支持。 从 Linode Manager 中的 Remote Access 标签页中可以获知自己 VPS 的网络配置信息。比如我的: Public IP: 50.116.13.218
Default Gateways 50.116.13.1
DNS Resolvers 74.207.241.5
74.207.242.5
2600:3c01::2
2600:3c01::3
修改 DNS 解析设置: vim /etc/resolv.conf按照上面的 DNS Resolvers 对应录入 domain members.linode.comsearch members.linode.comnameserver 74.207.241.5nameserver 74.207.242.5nameserver 2600:3c01::2nameserver 2600:3c01::3options rotate保存并退出。 然后配置静态 IP(如果使用了 DHCP 自动获取 IP 则可以跳过此步骤直接到 1.5 继续): vim /etc/sysconfig/network-scripts/ifcfg-eth0对应录入 # Configuration for eth0DEVICE=eth0BOOTPROTO=none# 暂时不启用 IPv6IPV6INIT=no# This line ensures that the interface will be brought up during boot.ONBOOT=yes# eth0 - This is the main IP address that will be used for most outbound connections.# The address, netmask and gateway are all necessary.IPADDR=50.116.13.218NETMASK=255.255.255.0GATEWAY=50.116.13.1保存并退出。 因为 DHCP 已经不需要了,可以使用 chkconfig –list 命令查看 dhcp 相关服务的状态,然后停止它们。甚至可以删除相关软件包: yum remove dhcp重起 VPS 即可生效。 1.5 设置时区为 HONGKONG[size=1.2em]¶将香港时区文件设置符号链接到 localtime ln –sf /usr/share/zoneinfo/Hongkong /etc/localtimeecho "ZONE=\"Asia/Hong_Kong\"" > "/etc/sysconfig/clock"更详细配置说明请参考:正确配置 Linode VPS 系统时间。 2 安装 LAMP¶2.1 先更新系统yum update2.2 安装并配置 APACHE 网络服务器[size=1.2em]¶安装 yum install httpd备份配置文件(建议对于所有的配置文件,做任何更改前都先备份一份,以便应对未知错误) cp /etc/httpd/conf/httpd.conf ~/httpd.conf.backup因为默认情况下,位于 /etc/httpd/conf.d/ 目录下的所有以 .conf 结尾的文件都会被读取,并按照字母顺序加载做为 Apache 的配置,所以增加虚拟主机的时候,实际上不需要修改/etc/httpd/conf/httpd.conf,而是在 /etc/httpd/conf.d/ 下新建一个配置文件来配置虚拟主机。 配置虚拟主机(/etc/httpd/conf.d/vhost.conf ) vim /etc/httpd/conf.d/vhost.conf输入下面的内容(# 号后面的改行内容是注释): 修订 – 2011.02.13: 1. 接受网友建议:注释掉了一些在 httpd.conf 中已经有的全局设置,下面代码中用红色 # 号注释掉的行。 2. 去掉了 <Directory> 与 </Directory> 之间的 Options 后面的Indexes。 3. 下面有路径中使用了域名 cnzhx.net 来做文件夹的名字,只是为了方便区分不同的域名,无它意。 4. 在服务器上一行行输入还是挺麻烦的,可以在本地编辑好了,然后通过 ftp 上传过去( filezilla 就挺好,有中文界面,还支持 ssh 登录(选择 sftp 模式即可))。 Listen 2082 # 为了以后安装 phpMyAdmin 的时候用,也可以是别的端口,如 4444NameVirtualHost *:80NameVirtualHost *:2082 # phpMyAdmin## cnzhx.net#<VirtualHost *:80>ServerAdmin [email protected] cnzhx.netServerAlias wwwDocumentRoot /srv/www/cnzhx.net/public_html/<Directory "/srv/www/cnzhx.net/public_html/"> Options FollowSymLinks AllowOverride All # 这样设置就可以在网站文件的目录中使用 .htaccess Order allow,deny Allow from all</Directory>ErrorLog /srv/www/cnzhx.net/logs/error.logCustomLog /srv/www/cnzhx.net/logs/access.log combined#ServerSignature Off</VirtualHost>## test.cnzhx.net#<VirtualHost *:80>ServerAdmin [email protected] test.cnzhx.netServerAlias testDocumentRoot /srv/www/test.cnzhx.net/public_html/<Directory "/srv/www/test.cnzhx.net/public_html/"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all</Directory>ErrorLog /srv/www/test.cnzhx.net/logs/error.logCustomLog /srv/www/test.cnzhx.net/logs/access.log combined#ServerSignature Off</VirtualHost>## phpMyAdmin,访问地址:http://50.116.13.218:2082#<VirtualHost 50.116.13.218:2082>ServerAdmin [email protected] /srv/www/phpmyadmin/public_html/#<Directory "/srv/www/phpmyadmin/public_html/"># Options FollowSymLinks# AllowOverride None# Order allow,deny# Allow from all#</Directory>ErrorLog /srv/www/phpmyadmin/logs/error.logCustomLog /srv/www/phpmyadmin/logs/access.log combined#ServerSignature Off</VirtualHost>虽然配置文件写好了,但是还不能启动 httpd 进程,因为上面设置的各个文件夹(网站目录)还没有创建。 创建各个虚拟主机的文件夹 mkdir –p /srv/www/cnzhx.net/public_htmlmkdir /srv/www/cnzhx.net/logsmkdir –p /srv/www/test.cnzhx.net/public_htmlmkdir /srv/www/test.cnzhx.net/logsmkdir –p /srv/www/phpmyadmin/public_htmlmkdir /srv/www/phpmyadmin/logs现在可以启动 Apache 进程 httpd 了 /etc/init.d/httpd start如果已经做好了 DNS 域名解析,现在用浏览器打开域名应该能够看到 Apache 的测试页面。 为了能够在系统启动时自动运行 Apache 服务器,需要运行下面的指令: /sbin/chkconfig --levels 235 httpd on然后重新加载 httpd /etc/init.d/httpd reload或者重新启动 httpd /etc/init.d/httpd restart2.3 安装和配置 MYSQL 数据库服务器[size=1.2em]¶2.3.1 安装 yum install mysql-server2.3.2 加入随系统启动 /sbin/chkconfig --levels 235 mysqld on2.3.3 启动 mysql 守护进程(mysqld) /etc/init.d/mysqld start2.3.4 安全配置 MySQL 使用 MySQL 内建的安全配置脚本进行配置 mysql_secure_installation这里需要配置 mysql 根用户和密码、清除其他用户、清除不需要的数据库等。然后使用 MySQL 的 root 帐户(不同于 Linux 的 root 帐户)登录进去 mysql –u root –p输入密码后回车,可以看到命令提示符变为 mysql> 创建一个新数据库给 WordPress 用(这里取名为 wordpress,也可以用别的名字) create database wordpress;创建一个新用户,并将该数据库的权限赋给他(这里只是举例,用户名为 newdbuser,密码为 dbuserpassword) grant all on wordpress.* to ‘newdbuser’ identified by ‘dbuserpassword’;更新权限 flush privileges;退出数据库 quit其它的先不做了,回头用图形界面的 phpMyAdmin 来做。 2.4 安装和配置 PHP[size=1.2em]¶安装 yum install php php-pear确保配置文件 /etc/php.ini 中有下面的语句(某些数值可以后再调整): error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERRORdisplay_errors = Offlog_errors = Onmax_execution_time = 300memory_limit = 32Mregister_globals = Off2.5 安装 PHP-MYSQL[size=1.2em]¶为了在 PHP 中使用 MySQL,还需要安装这个 php5-mysql 包: yum install php-mysql3 安装和配置 phpMyAdmin¶Remi 安装源上有最新的 PHP、MySQL 以及 phpMyAdmin 的 Yum 安装包,可以方便安装、更新。但是正在使用的 Linux 发行版 CentOS 6 上的软件包可能版本要求不一样,所以使用 Yum 安装源优先级插件来进行控制。 3.1 安装使用 REMI REPOSITORY选择合适的源地址来安装,参考方法:Remi 安装源 3.2 禁用 YUM PRIORITIES 并执行系统升级vim /etc/yum/pluginconf.d/priorities.conf将 enabled=1 改为 enabled=0,保存退出即可。 更新系统 yum update如果这里不将 Yum 源优先级插件禁用并执行系统更新,会造成安装 phpMyAdmin 的时候另外安装 Remi 源上的 PHP 版本,于是我们系统里就会有 2 个 PHP 在活动,从而造成 httpd 进程启动失败。
|