AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Binom
 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G⚡️最干净<Wifi住宅+5G移动>IP代理指纹浏览器,就用AdsPower
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利广告开户独立站⚡️开户投放
DuoPlus专注打造跨境电商云手机E.PN 虚拟卡BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
MediaGo+Taboola+Ob开户百度国际MediaGo⚡️让产品狂奔全球百度国际,高点击转化,快速放量百度国际MediaGo,独家原生流量
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款全球虚拟卡, 支持U充值
Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款
各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户一手BM分享户不限额9Proxy ⚡️ $0.04/IP, 无限带宽
FB二三解0.1元一个虚拟卡|PTM星际卡FB专用虚拟卡Google、Bing官方总代  联盟流量开户
FB账号资源/稳定靠谱/运行5年啦FB开户代投/三不限/白名单fb耐用号0.01一个fb账号官方合作商
广告位出租   
查看: 4831|回复: 1

Linode VPS 上 CentOS 6 安装 LAMP + phpMyAdmin 记录

[复制链接]

29

主题

560

广告币

565

积分

中级会员

Rank: 3Rank: 3

积分
565

社区QQ达人

发表于 2013-9-3 18:51:11 | 显示全部楼层 |阅读模式
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 安装 LAMP2.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-server
2.3.2 加入随系统启动
/sbin/chkconfig --levels 235 mysqld on
2.3.3 启动 mysql 守护进程(mysqld)
/etc/init.d/mysqld start
2.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 进程启动失败。



相关帖子
回复

使用道具 举报

29

主题

560

广告币

565

积分

中级会员

Rank: 3Rank: 3

积分
565

社区QQ达人

 楼主| 发表于 2013-9-3 18:51:58 | 显示全部楼层
3.3 安装PHPMYADMIN¶
yum install phpmyadmin
嗯,前面已经打好基础了,所以这里就是这么简单。

3.4 配置
phpMyAdmin 的默认安装目录是 /usr/share/phpMyAdmin,同时会在 Apache 的配置文件目录中自动创建虚拟主机配置文件 /etc/httpd/conf.d/phpMyAdmin.conf (区分大小写)。在这个配置文件中有设置:

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
也就是说,我们可以通过绑定到 Apache 服务器上的任何域名访问 phpMyDdmin。比如这里可以通过 cnzhx.net/phpmyadmin 或者 cnzhx.net/phpMyAdmin 访问。但是这样一来,phpMyAdmin 的内容就与网站内容混到一起了。所以,为了使用习惯的地址加端口的模式,即IP:port/phpMyAdmin 的链接形式访问 phpMyAdmin,加 # 注释掉上面的 Apache Alias 规则(在上面每一行 Alias 前面加上 # 号),并在

allow from ::1
那一行的后面另起一行输入

Allow from All
保存退出,使之可以从任何地方都可以访问。如果本地电脑是固定 IP 的,为了安全,也可以将上面的 All 改为本地电脑的 IP。咱的 ADSL 就不好享受这样的待遇了。

因为在前面创建虚拟主机配置文件 /etc/httpd/conf.d/vhost.conf 的时候已经为 phpMyAdmin 配置了一个端口为 2082 的虚拟主机,只能通过该虚拟主机(端口)访问 phpMyAdmin。因为 /srv/www/phpmyadmin/public_html 配置为 phpMyAdmin 的虚拟主机目录,为该目录创建软链接到 phpMyAdmin 安装目录(/usr/share/phpMyAdmin):

ln -sf /usr/share/phpMyAdmin /srv/www/phpmyadmin/public_html
修改 phpMyAdmin 的配置设置

vi /etc/phpMyAdmin/config.inc.php
找到其中的如下代码段:

$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['blowfish_secret'] = '随便填上一串乱七八糟的字符即可';
按照上面的提示填写 blowfish_secret 字符串。其他的不用修改,保存并退出。

3.5 重起 APACHE 使配置生效
service httpd restart
该指令在这里等同于

/etc/init.d/httpd restart
现在就可以通过 ip:port/phpMyAdmin (将 IP 换为 VPS IP,端口为前面 2.1 中设置的 phpmyadmin 的虚拟主机端口,注意大小写)访问 phpMyAdmin 了。

使用前面创建的用户名和密码(2.3.4 中 grant 语句中包含的用户名和密码)登录 phpMyAdmin。

然后还可以按照自己的使用习惯对 phpMyAdmin 的行为进行配置,请参考我写的另一篇文章:个性化配置 phpMyAdmin。

3.6 重新开启 YUM 源优先级插件
这里实际上并没有用到 YUM 源优先级插件,之所以先安装这个插件,就是为了在这里再重新开启这个插件,以防止以后不小心破坏了系统的稳定性。

重新修改其配置文件,将 enabled=0 改为 enabled=1,保存退出。

4 创建一个新帐户以访问网站文件¶

访问服务器的时候虽然可以用 root,但是安全起见,最好禁止 root 用户远程登陆服务器。所以这里新建一个普通用户,并将网站文件夹的属主改为新用户。

4.1 增加新用户
useradd username
这里只是举例使用 username 做为用户名,下同。

4.2 为新用户设置密码
passwd password
4.3 修改 /SRV/WWW/ 及其子目录和文件的属主和组为新用户及其组
cd /srv/www/
chown –R username:username *
4.4 上传网站文件
使用新创建的用户,通过 FileZilla(或其它 sftp 软件)登录服务器,将网站文件上传到前面设置虚拟服务器时设定的文件夹,这里:

cnzhx.net 的文件位于 /srv/www/cnzhx.net/public_html 目录下;
test.cnzhx.net 的文件位于 /srv/www/test.cnzhx.net/public_html 目录下。
4.5 文件及文件夹权限设置
2012.03.11

根据这一段时间实践的经验,要使 WordPress 可以正常运行,分两种情况:

如果文件及文件夹的属主是 apache,只需要文件 644,文件夹 755 的权限;
如果文件及文件夹的属主不是 apache,则需要文件 664,文件夹 775 的权限。
因为按照本文的安装方法,Apache(httpd 进程) 的运行用户为 apache,不做改动的话,WordPress 的运行用户也就是 apache 了。使用 WordPress 的时候需要上传附件、更新插件或者 WordPress 本身等操作,这些操作需要对特定的某些文件、目录有写入权限。有 2 个解决方案:

修订 – 2012-02-29:

1、接受网友建议,安全起见,在更改文件/文件夹属性(chmod 操作)的时候,不使用 2775 而是用 775。其中前面的 2 表示使文件/文件夹所属组(及其成员)拥有该文件/文件夹所有者(属主)的相同权限。这样做虽然很方便,但是毕竟会有不小的风险。如果已经按照之前的方法操作,可以使用下面的命令进行修正后再重新设置。修正命令:

进入网站根目录,以本文为例:

cd /srv/www/cnzhx.net/public_html

所有文件夹属性修改为 775

find -type d -print0 |xargs -0 chmod 775

将所有文件的属性修改为 664

find -type f -print0 |xargs -0 chmod 644

2、强烈不推荐使用下面的第 1 种方法。

3、实际上,因为 apache 这个虚拟用户本身的权限就很小,即使按照之前的方法操作也不会有多大安全问题,但前提是没有用 root 帐户来管理网站文件。

方法 1:在 WordPress 后台可执行一切更新插件或 WordPress 本身的操作,可上传附件,可使用 WPSC 等缓存插件,等等等等。这就要求赋予 apache 用户比较大的权限,可如下操作(以 cnzhx.net 一个网站为例):网站文件的属主仍为刚才创建的用户 username,但是将网站文件所属组改为 apache 的组 apache。顺次输入命令,
cd /srv/www/cnzhx.net/public_html
chown -R username:apache *
chmod 775 -R *
重起 Apache 服务(service httpd restart)使之生效。

方法 2:推荐。保守一点的方案是,仅保证 WordPress 后台可以上传附件,使用 WPSC 等缓存插件,而更新插件和 WordPress 的操作通过 ftp 上传更新文件的方式来进行:仅仅修改受影响的部分文件夹的所属组属性即可。进入 WordPress 安装目录的 wp-content 目录中:
cd /srv/www/cnzhx.net/public_html/wp-content/
首先为了保证上传附件功能,修改 uploads 文件夹以及其子文件夹和文件的属性(属主改为 apache,组不变:

chown –R apache:username uploads
chmod 755 uploads
如果 uploads 文件夹中已有原先建立的一些文件,还需要执行如下操作:

继续进入 uploads 目录

cd uploads
修改该文件夹中的其它文件属性

find -type d -print0 |xargs -0 chmod 755
find -type f -print0 |xargs -0 chmod 664
其次,如果是 WordPress 多站点模式,还需要按照同样的方法修改 /wp-content/blogs.dir 目录属性:

# 接着前面的操作,返回上一层目录 wp-content
cd ..
# 修改 blogs.dir 文件及其子文件夹和文件的属主和组
chown –R apache:username blogs.dir
# 修改 blogs.dir 文件夹本身的权限
chmod 755 blogs.dir
# 进入 blogs.dir 文件夹
cd blogs.dir
# 修改其内部所有文件和文件夹属性
find -type d -print0 |xargs -0 chmod 755
find -type f -print0 |xargs -0 chmod 664
这里,为了让服务器用户 username 可以使用 ssh 修改由 apache 创建的文件,还需要将 username 添加到 apache 组中:

usermod -a -G apache username
第三,为了使 WPSC 可创建缓存文件,在 wp-content 目录下新建文件夹 cache,并同样修改属性:

mkdir cache
chown –R apache:username cache
chmod 755 cache
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2024-11-22 00:20 , Processed in 0.064905 second(s), 14 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表