首先我们需要在Ubuntu下安装这几个软件:
apt-get install apache2 php7.1 mysql-server mysql-client phpmyadmin
其中,
apache时Web服务器软件,
php是一种脚本语言,
mysql-server和mysql-client是数据库的服务端和客户端,
phpmyadmin是为了可以方便的通过网页来对数据库进行管理。
在安装mysql时设置好密码并选择apache2,
安装phpmyadmin时设置好密码,之后用软连接连接一下以便使用:
ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
接下来下载并安装wordpress,可以去官网查看最新的包:
wget http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
tar zxf wordpress-4.9.4-zh_CN.tar.gz -C /var/www/html
然后要授予wordpress文件夹权限,以便安装时创建wp-config.php :
chown www-data:www-data /var/www/html/wordpress/
其中www-data是apache2的用户和用户组
通过访问 “服务器ip”/phpmyadmin 进入phpmyadmin,用户名root,密码为刚才安装时设置的。
在左侧点击新建,新建一个名为wordpress的database。
接下来访问 “服务器ip”/wordpress进入wordpress的配置界面,
填写数据库名为刚才创建的wordpress,填写数据库的用户名和密码。
点击提交。点击现在安装。
填写站点标题,用户名,保存好密码或自己重新设置密码,
填写电子邮件,安装wordpress,然后就可以登陆了。
到此wordpress就安装完成了。
对了,不要忘记允许80端口:
ufw allow 80
*****************************************************
我的操作系统是ubuntu18.04,以下是我的mysql版本:
安装完成后,登录mysql的时候就出现了如下错误:
因为安装的过程中没让设置密码,可能密码为空,但无论如何都进不去mysql。
那么该怎么做呢,接下来就将这个解决方法总结记录一下。
step1:在ubuntu的terminal(也即终端)上输入sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,进入到这个配置文件,然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话。
1 [mysqld]
2 #
3 # * Basic Settings
4 #
5 user = mysql
6 pid-file = /var/run/mysqld/mysqld.pid
7 socket = /var/run/mysqld/mysqld.sock
8 port = 3306
9 basedir = /usr
10 datadir = /var/lib/mysql
11 tmpdir = /tmp
12 lc-messages-dir = /usr/share/mysql
13 skip-external-locking
14 character-set-server=utf8
15 collation-server=utf8_general_ci
16 skip-grant-tables <-- add here
作用:就是让你可以不用密码登录进去mysql。
保存:wq,退出。输入:service mysql restart,重新启动mysql。
step2:在终端上输入mysql -u root -p,遇见输入密码的提示直接回车即可,进入mysql后,分别执行下面三句话:
1 use mysql; 然后敲回车
2 update user set authentication_string=password("你的密码") where user="root"; 然后敲回车
3 flush privileges; 然后敲回车
结果如下图:
然后输入quit,退出mysql。
step3:重新进入到mysqld.cnf文件中去把刚开始加的skip-grant-tables这条语句给注释掉。
1 [mysqld]
2 #
3 # * Basic Settings
4 #
5 user = mysql
6 pid-file = /var/run/mysqld/mysqld.pid
7 socket = /var/run/mysqld/mysqld.sock
8 port = 3306
9 basedir = /usr
10 datadir = /var/lib/mysql
11 tmpdir = /tmp
12 lc-messages-dir = /usr/share/mysql
13 skip-external-locking
14 character-set-server=utf8
15 collation-server=utf8_general_ci
16 # skip-grant-tables <-- add # here
再返回终端输入mysql -u root -p,应该就可以进入数据库了。
step4:如果此时还是报出错误,那么就需要返回step3中,把注释掉的那条语句重新生效(就是删除#符号),重新进入mysql中,先选择一个数据库(use mysql;),然后输入select user,plugin from user;,看下图:
从图中可以看到在执行了select user,plugin from user;后,错误原因是因为plugin root的字段是auth_socket,那我们改掉它为下面的mysql_native_password就行了。输入:
1 update user set authentication_string=password("ln122920"),plugin='mysql_native_password' where user='root';
然后回车执行以下,再输入select user,plugin from user;回车,我们能看到root用户的字段改成功了。
最后quit退出。返回执行step3。
那么这个问题就完全解决了。
*********************************************
由于要将本地程序上传至云服务器中,所以需要给云服务器端安装ftp服务器。记录一下ftp的安装过程,以便以后使用。服务器端所用系统为Ubuntu16.04.
1. 安装ftp服务器,
apt-get install vsftpd ftp
2. 配置ftp服务器,在/etc/vsftpd.conf中修改,注意修改前先备份一份。
cp /etc/vsftpd.conf /etc/vsftpd_bk.conf
vim /etc/vsftpd.conf
3.
# 上面默认下不变
write_enable=YES
utf8_filesystem=YES
4. 重启ftp服务器
systemctl restart vsftpd
5. 命令行下运行试试
zf ~ $ ftp localhost
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:zf): zf
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
6. 也可以试试root用户是否可以登录,默认是不让登录的,如果要root登录的话,需要把/etc/ftpusers中的root注释掉。
# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).
# root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
nobody
7.此时就可以通过浏览器连接到云服务器了,在地址栏输入ftp://服务器端IP.
试试在服务器端新建或者删除文件,浏览器端是否可以看到改变。
8. 我本地用的是Ubuntu16.04系统,它还有一个很方便的连接服务器方法,打开任意一个文件夹,选择它菜单栏的文件->连接到服务器
输入服务器地址ftp://IP,然后输入用户名和密码就可以登录操作了,这样就像打开本地文件夹一样,操作也与本地无异,也可以在本地修改文档,保存,然后在服务器端执行。
9、卸载
sudo apt-get remove --purge vsftpd
(--purge 选项表示彻底删除改软件和相关文件)
************************************************************
仅限于ubuntu
别的linux 版本因为路径稍有不同,做法不太一样
现象:文件上传没问题,安装插件和安装主题失败,文件夹权限已经调整为 777
前提:一般情况下,文件无法上传,通过chmod - R 777 www(或者关联目录)就可以解决,
这个方法是再以上方法仍然无效时的处理
可以通过ps -ef | grep httpd来查看当前启动和运行httpd的用户
可以通过ps -ef | grep apatch2来查看当前启动和运行apache的用户
也可以 检查运行apatch2的用户
检查/etc/apache2/envvars文件,发现其中需要使用/etc/apache2/envvars文件中的以下几个环境变量
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
方法 1
chown -R www-data:www-data /var/www/*
方法2
通过apatch2 用户登陆,再执行apach
方法3
把apatch的用户添加到root对应用户组
原理:
因为当前运行用户可能是root,也可能是其他apatch,而www或者下属的相关文件夹属于不同的组(group),
通过改变温年所属,或者调整用户组关系解决以上问题
最后记得 重启服务
service apache2 restart
*********************************************
下面就是解决步骤。
1.
将WordPress安装目录中的” index.php”文件放到名为“wordpress”的文件夹外面(“index.php”一般默认在“/wordpress”路径下)。
2.
将“index.php”里面的
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
1
修改成
require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );
1
3.
在“设置-常规”中将“站点地址(URL)”中的“wordpress”删除。
注:千万不要更改” WordPress地址(URL)”对应的配置信息,否则wordpress的控制面板就打不开了。
之后保存更改。
至此就可以直接通过域名访问网站首页了。