LAMP+WordPress搭建网站

搭建LAMP(Linux, Apache, MySQL, PHP)环境

安装Apache

sudo apt-get update
sudo apt-get install apache2

安装完成之后在浏览器页面输入http://your_server_IP_address 可以看到Apache的配置页面

安装数据库MySQL

sudo apt-get install mysql-server php7.0-mysql

首先,我们要让MySQL创建它的存储信息的数据库目录结构,输入以下命令

sudo mysql_install_db

然后运行一个简单的安全脚本,它会移除一些危险的默认的配置

sudo mysql_secure_installation

它将会要求输入root密码,然后问是否想要修改密码,如果对现在的密码满意,就输入n或者no;对于剩下的问题,只需要enter键接受默认的配置就可以,这将会移除一些样例用户和数据库,使远程root登录不可用,并且加载这些新的规则来做出我们所做的更新

安装PHP

安装

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mcrypt

更改dir.conf文件:

sudo nano /etc/apache2/mods-enabled/dir.conf

更改前:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

更改后:<其中只是移动了ingdex.php的位置>

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

重启Apache:

sudo service apache2 restart

测试PHP模块:

创建新的文件

sudo nano /var/www/html/info.php

输入文件内容

<?php
phpinfo();
?>

打开http://your_server_IP_address/info.php 查看测试结果

注意删除这个文件

sudo rm /var/www/html/info.php

安装Wordpress

创建数据库用户

登录数据库

mysql -u root -p

创建新的用户,用户名假设为Wordpress

CREATE DATABASE wordpress;

创建一个数据库用户

CREATE USER wordpressuser@localhost IDENTIFIED BY 'password';

给这个用户新数据库的使用权

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost;

使操作生效并退出

FLUSH PRIVILEGES;
exit

下载WordPress并配置

切换到~目录并获得WordPress的最新版本

cd ~
wget http://wordpress.org/latest.tar.gz

解压该文件

tar xzvf latest.tar.gz

下载一些安装包

sudo apt-get update
sudo apt-get install php7.0-gd libssh2-php

复制一个配置文件的副本

cp wp-config-sample.php wp-config.php

获得安全秘钥

curl -s https://api.wordpress.org/secret-key/1.1/salt/

会得到类似的输出<警告:不要拷贝下面的!!>

define('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT',        'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES  07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+7pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
4define('LOGGED_IN_SALT',   'i^/G2W7!-H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1%^qUswWgn+6&xqHN&%');

打开配置文件

nano wp-config.php

将秘钥替换配置中类似的位置

找到关于 DB_NAME, DB_USER, 和 DB_PASSWORD 的设置,并填写相应的刚刚配置数据库的信息

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

拷贝文件到根目录

sudo rsync -avP ~/wordpress/ /var/www/html/

更改文件的权限

sudo chown -R demo:www-data *

创建上传目录并赋相应的权限

mkdir /var/www/html/wp-content/uploads
sudo chown -R :www-data /var/www/html/wp-content/uploads

完成安装并查看网站并完成最后的配置

http://server_domain_name_or_IP

允许Apache使用固定连接功能

编辑000-default.conf

sudo nano /etc/apache2/sites-available/000-default.conf

做如下更改

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ServerName server_domain_name_or_IP
    <Directory /var/www/html/>
        AllowOverride All
    </Directory>
    . . .

重新启动部件

//sudo a2enmod rewrite
sudo service apache2 restart

创建.htaccess文件

touch /var/www/html/.htaccess

赋相应权限

sudo chown :www-data /var/www/html/.htaccess

如果想要Wordpress自动更新这个文件

chmod 664 /var/www/html/.htaccess

If you want to update this file manually for the sake of a small security gain, you can allow the web server only read privileges by typing:

chmod 644 /var/www/html/.htaccess

网站在不同vps之间的迁移

VPS1上数据打包(备份)

文件数据打包

cd /home/wwwroot/
tar zcvf xxx.tar.gz 网站目录(如/home/wwwroot/vmvps.com)

MySQL数据导出

mysqldump -u用户名 -p密码 数据库名 > xxx.sql

VPS2上数据转移(恢复)

文件数据恢复(wget获取远程文件)

cd /home/wwwroot/
wget http://www.xxx.com/xxx.tar.gz(从VPS1上获取文件)
tar zxvf xxx.tar.gz

MySQL数据导入

*请先在phpmyadmin新建相应数据库和用户(与原数据库、用户同名)<若不同名则有可能出现数据库连接错误>

wget http://www.xxx.com/xxx.sql
mysql -u你新建的用户名 -p用户名密码 你刚才新建的数据库名 < xxx.sql

参考链接

How To Install Wordpress on Ubuntu 14.04
How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 14.04
VPS之间网站数据的备份与恢复(网站迁移教程)【微魔部落原创】

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容