ubuntu简易安装LNMP

个人感觉ubuntu更加好用,centos不合自己口味。

1、安装nginx  : sudo apt-get install nginx

查看版本  :nginx -v

查看安装信息:dpkg -S nginx 

安装位置是/etc/nginx目录,其配置文件nginx.conf也是在该目录下,并且在 etc/init.d 下有 nginx的启动程序,该目录下的程序都会在系统开启时启动。

此外,Nginx的默认网站目录是 /usr/share/nginx/html/,默认Nginx网站配置文件为 /etc/nginx/sites-available/default 。

启动 Nginx服务,使用下面两个命令任意一个即可:

sudo /etc/init.d/nginx start 
sudo service nginx start

2、安装php7

如果是安装7.0,只需要apt-get install 即可,如果是7.1就需要更新PPA软件源:

sudo apt-add-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.1 php7.1-fpm

  

3、打通nginxyu php-fpm

修改 /etc/nginx/sites-available/default 文件,然后取消关于php的注释部分,并且将fpm的路径修改为7.1的即可

重启一下nginx服务。可以写测试的php文件了。

4、安装php扩展:

sudo apt-get install php7.1-gd php7.1-curl php7.1-mysql

5、安装mysql5.7

sudo apt-get install mysql-server mysql-client 

设置root密码,系统自动完成剩下部分。

--- netstat -anp 可以查看当前系统监听的端口。

 6、nginx下的php路径漏洞,伪造路径,比如http://xxx/a.jpg/b.php,就可以执行,http://www.laruence.com/2010/05/20/1495.html 其实开启了rewrite的设置后这个可以不怎么在意,不过最好修改好。

vim /etc/php/7.1/fpm/php.ini

去掉cgi.fix_pathinfo=1之前的注释,并修改值为0.

7、开启加密模块:

sudo phpenmod mcrypt   ;看情况自己决定,

重启服务service php7.1-fpm restart

 8、DNS解析域名,并新建虚拟主机

nginx默认的主机配置文件:/etc/nginx/sites-available/default

新建虚拟主机配置文件,在/etc/nginx/conf.d/目录下添加x.conf文件即可。

配置默认的http网站,配置文件如下:

server {
        listen 80;
        server_name www.ex.com;
        location / {
                root /var/www/ex.com;
                index index.php index.html index.htm;
        }


        location ~ \.php$ {
          root /var/www/ex.com;
          fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
          fastcgi_index index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi_params;
      }
   }
     

  保存后,在 /var/www/ 下mkdir ex.com,并且写入PHP的测试文件,如果解析正常说明成功了。

 9、启用SSL,这个非常简单,在certbot官网直接照着做就行了。 https://certbot.eff.org/lets-encrypt/ubuntutzesty-nginx

安装certbot:

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx 

  设置:

$ sudo certbot --nginx

  功能非常简单,提示信息第一项是email,之后选择需要启用ssl的域名,是否强制重定向HTTP到https ,最后出现验证连接:https://www.ssllabs.com/ssltest/analyze.html?d=www.ex.com

LE证书存在过期问题,可以自行维护更新。

$ sudo certbot renew --dry-run

  模拟运行成功的提示出现后,可以设置定时任务来维护自动维护任务:

sudo crontab -e

  可能会出现选择编辑器的选项,nano即可。

然后在定时任务里面添加一行:

30 3 * * 1 /usr/bin/certbot renew  >> /var/log/le-renew.log

  意思是凌晨3:30检查维护,这个时候一般都是访客最少的时候。

可以自己先测试一下命令,然后cat一下日志验证一下。

OK。配置完毕!

10、安装phpmyadmin

sudo apt-get install phpmyadmin php7.1-mbstring php-gettext

  第一步要求选择apache或者Lighttpd,随便选了,nginx反正是。

输入密码。

然后建立到默认站点,即IP指向的站点的 软连接:

sudo ln -s /usr/share/phpmyadmin /var/www/html/your_pma_name  建议这里设置的复杂一些。

如果嫌放在IP底下不安全,可以放在指定站点的下面,软连接指向修改即可。

然后,就可以图形化管理mysql了!

posted @ 2018-03-20 00:50  CTO笔记  阅读(206)  评论(0编辑  收藏  举报