一,LNMP介绍
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/Kali/UOS/银河麒麟/openEuler/Anolis OS Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。
lamp 的全称是linux + apache + mysql +php
lnmp 的全称是linux + nginx + mysql + php (国外喜欢简称为LEMP,搜英文资料需要搜LEMP)
-
LAMP:使用的是Apache,Apache是世界是用排名第一的Web服务器软件,其几乎可以在所有广泛使用的计算机平台上运营,由于其跨平台和安全性被广泛使用,是最流行的Web服务端软件之一。
-
LNMP:使用的是Nginx,Nginx是一款高性能额Http和反向代理服务器,也是一个AMAP/POP3/SMTP服务器,Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的。
二,LNMP安装
sudo wget http://soft.vpser.net/lnmp/lnmp2.1.tar.gz //下载lnmp1.5sudo tar -xzf lnmp2.1.tar.gz //解压 cd lnmp2.1/ //改变路径到lnmp2.1下sudo ./install.sh //源代码安 (sudo ./ uninstall.sh //源代码卸载)
选择需要安装的LNMP(Linux, Nginx, MySQL, PHP)服务,
Mysql选择8.0版本或MariaDB10.2或更高,PHP选择8.3.7版本,其他默认即可。
我这里之前已经安装过mysql 就不选择安装了。
安装完成:
安装后,lnmp 会默认启动。我们就可以使用浏览器访问的Web服务器了。首先查看自己的Ubuntu的服务器的IP地址。(例如:我的IP为:192.168.6.128,则在浏览器输入http://192.168.6.128 )会出现下界面:(不知道自己IP, 可用 ifconfig 查看自己虚拟机IP)
恭喜lnmp安装成功。
如果不能访问的话,要检查Linux系统的防火墙是否运行,关闭防护墙,可以使用ufw status命令查看,或者把nginx的端口号改成其他的,我这里有冲突,就把它改成90了。
sudo ufw status sudo ufw allow 80 //允许80端口sudo ufw disable //防火墙在系统启动时自动禁用
三,LNMP相关软件安装目录
Nginx目录:/usr/local/nginx/
Nginx的日志目录:/home/wwwlogs/
默认网站目录:0.9版本为/home/wwwroot/1.0及以后版本为/home/wwwroot/default/MySQL目录:/usr/local/mysql/
MySQL的数据库所在目录:在/usr/local/MySQL 的在/var/
MariaDB目录:/usr/local/mariadb/
MariaDB的数据库所在目录:在/usr/local/MariaDB的在/var/PHP目录:/usr/local/php/
多PHP版本目录:/usr/local/php5.5/其他版本前面5.5的版本号换成其他即可
当前位置:替换。
/root/vhost.sh添加的虚拟主机配置文件所在目录:在/usr/本地/nginx的/conf目录/虚拟主机/LNMP相关配置文件位置
Nginx的主配置(默认虚拟主机)文件:/usr/local/nginx/conf/nginx.conf
添加的虚拟主机配置文件:在/usr/本地/nginx的/conf目录/虚拟主机/域名的.confMySQL的配置文件:/etc/my.cnf中
PHP配置文件:/usr/local/php/etc/php.ini
PHP-FPM配置文件:/usr/local/php/etc/php-fpm.conf如需要更改nginx,则:
sudo vim/usr/local/nginx/conf/nginx.conf //nginx配置文档
四,LNMP命令
单独启动服务命令:
sudo service nginx restart
sudo service mysql restart
sudo service php-fpm restart
lnmp一起重启:
sudo lnmp status
sudo lnmp restart
五,配置Nextcloud使用mysql
之前已经直接安装了mysql,所以上面LNMP没选装Mysql,但是建议按照上面步骤选择mysql8.0以上的安装,nextcloud官网建议。
sudo apt install mysql-server
如果mysql是自己安装的需要配置下面的配置信息:
用root登录mysql:
> mysql -uroot -p
CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
自己安装的MYSQL需要给权限www用户,不然nextcloud配置会报Permission denied:
sudo setfacl -R -m user:www:rwx /var/log/mysql/
sudo setfacl -R -m user:www:rwx /var/lib/mysql
sudo setfacl -R -m user:www:rwx /var/run/mysqld
sudo setfacl -R -m user:www:rwx /etc/mysql/
六,安装并配置Nextcloud
进入到以下路径,必须在该路径
cd /home/wwwroot/default/ //切换到LNMP的网络工作路径下
//sudo wget https://download.nextcloud.com/server/releases/latest.zip
sudo wget https://download.nextcloud.com/server/releases/nextcloud-28.0.14.zip //当前最新版//从官方网站下载next cloud,因为是从外网下载可能会非常慢,可以让他自己下载,去休息一会儿
sudo mv nextcloud-28.0.14.zip nextcloud.zipsudo unzip nextcloud.zip //下载完之后解压
sudo chown -R www.www *//Nginx的服务器是使用的WWW这个用户运行的,所以我们需要将所有的网页文件都更改所有者为万维网。
七,登录网页安装nextcloud
输入你的网址http://你的IP:端口号/nextcloud
配置上MYSQL安装即可, 下面有安装时遇到的错误解决方法。
几分钟后安装成功:
八,网页安装nextcloud时 error解决
1,SQLSTATE[HY000] [2002] No such file or directory
连接数据库报错:“SQLSTATE[HY000] [2002] No such file or directory”。
出现这个问题的原因是PDO无法找到mysql.sock或者mysqld.sock。
先找到安装的mysql 的.sock 文件,比如我的:
/var/run/mysqld/mysqld.sock
加到 /usr/local/php/etc/php.ini 文件里,用root账号加。
pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock
2,网页404 Not Found
安装完成之后,浏览器将会自动跳转出现下面Web服务器注明的404 Not Found错误.Nextcloud是完美支持apache的,如果使用Nginx的话可能会遇到一些状况,还有需要另外配置伪静态规则等.
打开 /usr/local/nginx/conf/nginx.conf
找到 include enable-php.conf;
然后替换为: include enable-php-pathinfo.conf;
重启lnmp 后才生效:
sudo lnmp restart
九,改变存储数据的路径
确认NextCloud用户数据文件存储位置,一般在/home/wwwroot/default/nextcloud/data下。
若要更换存储位置到/home/nextcloud720/data,先复制/home/wwwroot/default/nextcloud/data到/home/nextcloud720/
cp /home/wwwroot/default/nextcloud/data /home/nextcloud720/
增加权限:
chown -R www:www /home/nextcloud720/data
chmod 777 /home/nextcloud720/data
修改/home/wwwroot/default/nextcloud/config/config.php文件,并保存退出
'datadirectory' => '/home/nextcloud720/data'
十,离线安装插件应用
https://apps.nextcloud.com/
下载解压到 /home/wwwroot/default/nextcloud/apps
记得需要把文件夹的权限给到www用户。
然后在应用启用即可
十一,外网访问你的个人网盘(use cpolar)
1,先注册个cpolar账号,可以免费使用(免费的配置外网URL 24小时会变):
cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站
2,下载cpolar并安装到linux
3, 登录到你的cpolar账户,找到验证,里面有你的专属authtoken码,在linux进行验证。
4,配置cpolar.yml文件
5,启动cpolar进行内网穿透并设置开机自动启动。
6,在cpolar网页状态找到你的URL,就可以通过外网访问你的个人网盘了。
我这里开了VIP会员,你也可以白嫖免费,免费的24小时URL会变。
详情可参考之前我的博文:
[手机Linux] 三,安卓手机Linux内网穿透(cpolar),实现远程连接