匿名.

记一次手动配置环境(一)
前言之前博主使用的是宝塔一键 感觉这样的确很方便 但是意识到了一些问题之后(会变得更懒,产生依赖性,此处省略1千字...
扫描右侧二维码阅读全文
02
2019/02

记一次手动配置环境(一)

前言

之前博主使用的是宝塔一键 感觉这样的确很方便 但是意识到了一些问题之后(会变得更懒,产生依赖性,此处省略1千字) 果断抛弃了宝塔面板(不是说不好用哈) 便改为了自己手动配置环境 在这途中踩了不少坑 也碰到了各种报错 不过最后都解决了 在此给大家分享一下


环境

Centos7.5 + Nginx1.12 + PHP7.2.14 + MariaDB5.5 + PHPMyAdmin


使用软件

1.Xshell6

2.WinScp

安装

首先我们先使用yum update -y来升级一下所有包、软件和系统内核

第一步

安装 Nginx:

yum install nginx -y

安装完成后,启动 Nginx服务和设置开机自启:

systemctl start nginx

systemctl enable nginx

在这里我们已经安装好了Nginx,在浏览器中输入你的服务器IP,回车,即可看到以下界面

若无法访问的话,请将防火墙放行80端口

第二步

安装 MySQL(MariaDB):

yum install mariadb-server mariadb -y

安装完成后,启动 MariaDB 服务和设置开机自启:

systemctl start mariadb

systemctl enable mariadb

接下来我们来运行一个简单的安全脚本,它将删除一些危险的默认值,并锁定对我们的数据库系统的访问。

mysql_secure_installation

根据提示我们需要设置一遍数据库的安全,删除匿名用户等。

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

第三步

安装PHP7.2

我们先更改一下yum源(因为linux的yum源不存在php7.x)

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

开始安装PHP7.2及各种扩展

yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

待安装完后,我们来配置一下PHP处理器

vi /etc/php.ini

我们在这个文件中寻找的是设置cgi.fix_pathinfo的参数,它默认值为“1”。

这是一个非常不安全的设置,因为它告诉PHP尝试执行最接近的文件,如果PHP文件不完全匹配,它可以找到。这基本上将允许用户以允许他们执行不应该被允许执行的脚本的方式来制作PHP请求。

我们将通过取消注释行并将其设置为“0”来更改这两个条件:

cgi.fix_pathinfo=0

如果不存在以下设置的话,增加该配置。如果被注释了话,去掉注释

session.save_path = "/var/lib/php/session"

完成后按ESC键 输入:wq保存并关闭文件

接着我们来查看该目录是否存在:

ls /var/lib/php/session

如果不存在,则手动创建此目录,命令如下

mkdir /var/lib/php/session

如果存在的话,我们修改目录属主为nginx

chown nginx:nginx /var/lib/php/session/ -R

接下来,打开 php-fpm 配置文件www.conf

vi /etc/php-fpm.d/www.conf

找到指定参数的行listen,然后更改它,如下所示:

listen = /var/run/php-fpm/php-fpm.sock

接下来,找到listen.ownerlisten.group并取消注释,改为以下

isten.owner = nginx

listen.group = nginx

最后,找到 usergroup 把 “apache” 改成 “nginx

user = nginx

group = nginx

然后按ESC键 输入:wq保存并关闭文件

最后重启php-fpm服务

systemctl restart php-fpm

添加php-fpm自启服务

systemctl enable php-fpm

第四步

配置Nginx来处理PHP页面

vi /etc/nginx/nginx.conf

在server{ }块中添加以下内容

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

完成后按ESC键 输入:wq保存并关闭文件

接着我们重新启动Nginx进行必要的更改

systemctl restart nginx

第五步

在Web服务器上测试PHP处理

vi /usr/share/nginx/html/info.php

按i键 添加以下内容

<?php 
phpinfo(); 
?>

完成后按ESC键 输入:wq保存并关闭文件

接下来我们访问服务器ip/info.php

会出现以下界面

第六步

安装PHPMyAdmin

cd /usr/share/nginx/html

首先我们从官网下载压缩包过来

wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip

解压压缩包

unzip phpMyAdmin-4.8.5-all-languages.zip

重命名文件夹为pma

mv phpMyAdmin-4.8.5-all-languages.zip pma

进入pma文件夹

cd pma

复制一份config.inc.php文件

cp config.sample.inc.php config.inc.php

配置config.inc.php

vi config.inc.php

设置一个内部使用的秘钥(和内部加密有关,与页面登录没有直接关系)

$cfg['blowfish_secret'] = ‘5sir.cn';

接下来我们来添加一个Nginx站点的配置文件,给phpmyadmin来使用

vi /etc/nginx/conf.d/phpmyadmin.conf

server {
 listen 1234;#这个端口号是phpmyadmin访问的端口,可自定义
 server_name localhost;

 location / {
  root /usr/share/nginx/html/pma/;
  index index.php;
 }

 location ~ \.php$ {
  root /usr/share/nginx/html/pma/;

  fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
 }

 location ~ /\.ht {
  deny all;
 }
}

如果是按照博主提供的以上配置文件,记得把在防火墙内放行1234端口哦

最后重启一下nginx

systemctl resrart nginx

接下来访问服务器ip:1234

即可看到以下界面

未完待续


本文由 匿名. 创作, 采用 知识共享署名4.0 国际许可协议进行许可

本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

原文地址:《记一次手动配置环境(一)》

最后修改:2019 年 06 月 07 日 02 : 42 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论

5 条评论

  1. 枂下

    我也手动部署过环境,lamp
    后来,慢慢用上lamp一键包了,挺方便

    1. Linux6
      @枂下

      一键安装不如单独安装的自由。需要什么装什么。不会装上没用的东西

    2. 匿名.
      @枂下

      习惯用lnmp了 哈哈哈

  2. 油炸皮卡丘

    我比较懒,更喜欢一键安装

    1. 匿名.
      @油炸皮卡丘

      一键的确挺方便的