阿里云服务器安装xampp部署网站
1. 前言
我在自己Windows上搭建了xampp,并调试了前后端,就差把网页部署到服务器上了,服务器选择了阿里的。然后出错了,这里分享下从零到1经验。
2. 下载xampp for linux
地址:https://www.apachefriends.org/download.html
我下载的是
这里看你怎么弄了,可以本地下载然后传到服务器,也可以wget直接下载。
3. 安装xampp
因为服务器没有图形界面,直接用终端装:
chmod 777 *.run
chmod a+x *.run
然后安装
sudo *.run
直接yes,enter,默认安装路径是/opt/lampp
这里要把/opt
文件夹的可读写模式打开,否则不能启动mysql:
sudo chmod 777 /opt
/opt/lampp/lampp restart
然后再查看下是否都在running:
/opt/lampp/lampp status
Version: XAMPP for Linux 8.0.2-0
Apache is running.
MySQL is running.
ProFTPD is running.
这里默认是直接开启服务的,各种文本说明请见这个人的blog:https://blog.csdn.net/zhanghao143lina/article/details/79755480
各配置文件目录:
Apache文档根目录:/opt/lampp/htdocs/
Apache配置文件:/opt/lampp/etc/httpd.conf
MySQL配置文件:/opt/lampp/etc/my.cnf
PHP配置文件:/opt/lampp/etc/php.ini
ProFTPD配置文件:/opt/lampp/etc/proftpd.conf
PHPMyadmin配置文件:/opt/lampp/phpmyadmin/config.inc.php
常用XAMPP命令(在终端以root输入):
启动/停止/重启Apache:/opt/lampp/lampp start/stop/restart(包括启动/停止/重启了mysql,proftpd)
安全设置:/opt/lampp/lampp security
使用php版本/查看版本:/opt/lampp/lampp php4(5)/phpstatus
只启动和停止Apache:/opt/lampp/lampp startapache/stopapache
只启动和停止MySQL:/opt/lampp/lampp startmysql/stopmysql
只启动和停止ProFTPD服务器:/opt/lampp/lampp startftp/stopftp
启动和停止Apache的SSL支持:/opt/lampp/lampp startssl/stopssl
随系统自启动:
ln –s /opt/lampp/lampp/etc/rc.d/rc3.d/S99lampp
ln –s /opt/lampp/lampp/etc/rc.d/rc4.d/S99lampp
ln –s /opt/lampp/lampp/etc/rc.d/rc5.d/S99lampp
取消自启动:
ln –s /opt/lampp/lampp K01lampp
卸载XAMPP:rm –rf /opt/lampp
4. 配置mysql的文件:
MySQL配置文件:/opt/lampp/etc/my.cnf
把my.ini中的字符集改为utf8,原文档中已有,但需要取消注释(如果不配置utf8,取出的中文是乱码).
但我好像看ubuntu版本已经有了
4. mysql (这一步跳过,上面那个解决了自带的mysql的启动)
我最大的坑就在这里,mysql没启动起来,其实问题就是文件夹权限问题,然后mysql没法创建sock文件。 ERROR 2002 (HY000): Can't connect to local MySQL server through socket
。
废话不多说,直接讲怎么做:
1. 升级apt-get
:
sudo apt-get update
2. 安装mysql-service
sudo apt install mysql-server
3. mysql根据安装server的错误日志路径,知道在/var/log/mysql/error.log
里面我找到一个错误是
2021-02-17T17:29:00.069273Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: ‘Setup of socket: ‘/var/run/mysqld/mysqlx.sock’ failed, can’t create lock file /var/run/mysqld/mysqlx.sock.lock’
所以说是文件夹权限问题,按如下操作:
chown -R mysql /var/run/mysqld
chgrp -R mysql /var/run/mysqld
- 重启service
/opt/lampp/lampp restart
ok,现在数据库没有问题了。~~
5. 我该把html放哪里?mysql的数据库放哪里?
html和php文件放:/opt/lampp/htdocs/
如果是原装,mysql数据库放:/opt/lampp/var/mysql/
如果是重装,没重装这个找不到的,没重装也不需要重装,mysql数据库文件放:/var/lib/mysql/
直接把数据库文件夹和网页文件全拖拽到这就行
6. 远程服务器重置系统:
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
33:78:e5:9a:e8:c5:47:73:81:a3:9b:4c:b0:ed:af:2d.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:2
Password authentication is disabled to avoid man-in-the-middle attacks.
Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
这个因为远程服务器重置系统了,现有密钥和其不匹配
ssh-keygen -R [你要连接的IP]
然后再连接即可。
7. 远程phpmyadmin:
找到文件/opt/lampp/etc/extra/httpd-xampp.conf
然后修改:
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
为:
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
Allow from all
Require local
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
重启服务:
/opt/lampp/lampp restart
但是这样发现任何人都能看了
这样:
sudo /opt/lampp/lampp security
一路yes即可
sudo vim opt/lampp/phpmyadmin/config.inc.php
把$cfgServers[$i]['auth_type']= 'config';
修改成:
$cfgServers[$i]['auth_type']= 'cookie';
然后访问
[ip:xx.xxx.xxx.xx]/phpmyadmin/
就可以看见需要输入账号密码才能访问数据库了