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之间网站数据的备份与恢复(网站迁移教程)【微魔部落原创】

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容