欢迎投稿

今日深度:

腾讯云CentOS7 LAMP(linux的apache MariaDB php)yum方式部署,centos7mariadb

腾讯云CentOS7 LAMP(linux的apache MariaDB php)yum方式部署,centos7mariadb


  • 服务器初始化配置过程
  • 1创建新的用户
  • 2配置用户的ssh秘钥
      • SecureCRT的几种登录方法
    • 1 使用密码通过ssh登陆
      • 11 在ssh的配置文件中找到
      • 12 加入登陆限制
      • 13 然后在etcsshsshd-users里面加入想要从外界登录进来的用户不必重启ssh即可使用
    • 2 通过rsa公钥的方式登录
      • 21 创建秘钥
      • 22 登录
        • 另外密码限制登录用户与公私钥登录用户不冲突
  • 3将数据盘挂载到根文件系统上面
      • 制作过程
      • 若开始没有lv与vg需要建立lv与vg
  • 4安装php数据库mariadbapache
    • 1安装前的准备
    • 2 安装apache
      • 21 安装httpd
    • 3 安装MariaDB
      • 31 安装主程序
      • 32 配置mysql
      • 33 测试登入MariaDB
        • 数据库安装完成
    • 4 安装php以及其扩展组件
      • 41 安装php主程序
      • 42 测试php主程序是否安装成功
      • 43 安装php扩展
  • 5配置php数据库mariadbapache
    • 1 配置apache
      • 2配置php
  • 6联合测试
    • 1 测试php对mysql的支持
  • 7安装phpMyAdmin
  • 8安装vsftp

服务器初始化配置过程:

1、创建新的用户

    useradd bym //添加一个用户
    passwd bym  //为用户创建密码
    Changing password for user bym.
    New password: 
    Retype new password: 
    passwd: all authentication tokens updated successfully.

2、配置用户的ssh秘钥

  • mkdir /home/bym/.ssh //在要创建ssh秘钥的用户家目录下创建.ssh目录
  • cp authorized_keys /home/bym/.ssh/ //这个秘钥是在服务器管理平台创建并且绑定到root用户的,把此公钥文件拷贝到bym家目录下的.ssh文件中
  • vim authorized_keys //删除原有的rsa,在服务器管理平台创建并下载秘钥公钥到客户机,复制公钥内容到此文件中
  • 在客户机的securecrt中创建ssh登录点,并且选择publickey登录,选择下载到的公钥文件(.pub文件)。

SecureCRT的几种登录方法

2.1 使用密码通过ssh登陆

2.1.1 在ssh的配置文件中找到

#PasswordAuthentication no
改为
PasswordAuthentication yes
此时允许ssh使用密码进行登录,但是不够安全,可以在pam模块中加入登陆限制

2.1.2 加入登陆限制

/etc/pam.d/sshd中加入
auth required pam_listfile.so item=user sense=allow file=/etc/ssh/sshd-users
其中最后的那个路径代表你的用户限制名单所在的文件,如果没有的话需要自己修改目录或者是创建与上述路径相符的目录以及文件
sense=allow代表文件里面写的是允许登陆的用户名单,如果改为deny那就是拒绝登陆的用户名单,建议还是使用allow选项

2.1.3 然后在/etc/ssh/sshd-users里面加入想要从外界登录进来的用户,不必重启ssh即可使用

2.2 通过rsa公钥的方式登录

2.2.1 创建秘钥

2.2.2 登录

在客户端机器上面使用securecrt进行登录,选择创建的ssh连接登录方式为Publickey,把其他的都去掉,然后单击Publickey选择Properties之后选定创建的公钥路径,之后就可以进行登录了,为避免登录失败,要将服务器端的ssh服务重启一遍,在7.0系统里面使用systemctl restart sshd.service进行重启

另外:密码限制登录用户与公私钥登录用户不冲突

3、将数据盘挂载到根文件系统上面

我制作了一个磁盘阵列,可以随时往/data里面添加容量

制作过程:

LV > VG > PV

若开始没有lv与vg,需要建立lv与vg

vgcreate vg_name /dev/sda
lvcreate -L 4G -n lv_name vg_name

/etc/fstab里面添加/dev/web-var/lvweb-var /data ext4 defaults 0 0

4、安装php,数据库mariadb,apache

写在前面,使用yum安装千万不要更改mysql/mariadb的默认mysql.sock文件的位置,改了后面会费很大劲的,我是改完才知道的,下面依然是改过路径的安装方法,希望读者遇到改socket路径的直接跳过

4.1安装前的准备

  • 使用yum search mariadb > mariadb搜索yum库的mariadb相关包,并且把结果存到mariadb里面,在结果中大概先查看一下自己需要的东西

mariadb-server 服务器包
mariadb              mysql分支,完全兼容mysql
mariadb-libs      MariaDB/MySQL客户端必须的共享库文件

  • 使用yum search httpd > httpd-rpm搜索yum库的httpd相关包,并且把结果存到httpd-rpm里面,在结果中大概先查看一下自己需要的东西

httpd               httpd主程序
httpd-manual httpd帮助文件,可不安装


  • yum info installed | grep Name列出所有已经安装的软件
    使用yum search php > php-extern搜索yum库的php相关包,并且把结果存到php-extern里面,在结果中大概先查看一下自己需要的东西

php          php主程序包
php-common   php通用程序包
php-devel    添加php扩展的时候需要的文件
php-fpm      PHP FastCGI进程管理器(必须安装的),在5.3.3之后就集成到php里面了
php-gd       使php支持gd库的一个扩展模块
php-mcrypt   提供mcrypt库支持的标准php模块
php-mysql    使php支持mysql(MariaDB)
php-pdo      php连接数据库方法
php-odbc     使php支持ODBC数据库
php-snmp     查询SNMP-managed设备支持模块
libjpeg*     jpeg支持
php-ldap   
php-pear
php-xml      使php支持xml
php-xmlrpc   使php支持xml-rpc机制
php-mbstring 
php-soap     使php支持soap机制
curl 
curl-devel

4.2 安装apache

4.2.1 安装httpd

  • yum install httpd
============================================================================================================
Package                   Arch                 Version                              Repository        Size

============================================================================================================

Installing:
 httpd                     x86_64               2.4.6-40.el7.centos                  os               2.7 M
Installing for dependencies:
 apr                       x86_64               1.4.8-3.el7                          os               103 k
 apr-util                  x86_64               1.5.2-6.el7                          os                92 k
 httpd-tools               x86_64               2.4.6-40.el7.centos                  os                82 k
 mailcap                   noarch               2.1.41-2.el7                         os                31 k
 

可以看到httpd需要有四个依赖文件,yum会自动先安装依赖文件,输入y进行安装
Is this ok [y/d/N]: y

###4.2.2 启动并且测试apache
systemctl start httpd.service  //启动apache,也可以使用apachectl start进行启动
netstat -anp | grep httpd      //在网络接口查看是否有httpd,可以看到使用80端口
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      29478/httpd         
unix  3      [ ]         STREAM     CONNECTED     481766   29478/httpd


出现上面信息说明测试成功

4.3 安装MariaDB

4.3.1 安装主程序

  • yum install mariadb mariadb-server
============================================================================================================
 Package                            Arch              Version                           Repository     Size


===========================================================================================================

Installing:
 mariadb                            x86_64            1:5.5.44-2.el7.centos             os            8.9 M
 mariadb-server                     x86_64            1:5.5.44-2.el7.centos             os             11 M
Installing for dependencies:
 perl-Compress-Raw-Bzip2            x86_64            2.061-3.el7                       os             32 k
 perl-Compress-Raw-Zlib             x86_64            1:2.061-4.el7                     os             57 k
 perl-DBD-MySQL                     x86_64            4.023-5.el7                       os            140 k
 perl-DBI                           x86_64            1.627-4.el7                       os            802 k
 perl-Data-Dumper                   x86_64            2.145-3.el7                       os             47 k
 perl-IO-Compress                   noarch            2.061-2.el7                       os            260 k
 perl-Net-Daemon                    noarch            0.48-5.el7                        os             51 k
 perl-PlRPC                         noarch            0.2020-14.el7                     os             36 k
Updating for dependencies:
 mariadb-libs                       x86_64            1:5.5.44-2.el7.centos             os            754 k
Transaction Summary

============================================================================================================

Is this ok [y/d/N]: y

4.3.2 配置mysql

cat /etc/passwd 可以看到有mysql用户
cat /etc/group 可以看到有mysql用户组
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin

由于我不想数据库文件存放在系统盘,所以想更改一下mysql数据库文件的存放位置

groupadd -r mysql -g 27 创建用户组,名字为mysql,组号为27
useradd -m -r -g mysql -d /data/mysql -s /sbin/nologin -c "MariaDB server" -u 27 mysql 创建用户
mysql:x:27:27:MariaDB server:/data/mysql:/sbin/nologin
修改mysql家目录权限:chown -R mysql:mysql mysql/

  • 更新my.cnf文件
    复制并且覆盖my.cnf文件
    cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

  • 进入编辑my.cnf文件

[client]标签改为

#socket         = /var/lib/mysql/mysql.sock
socket          = /data/mysql/mysql.sock

[mysqld]标签改为

#socket         = /var/lib/mysql/mysql.sock
socket          = /data/mysql/mysql.sock
datadir         = /data/mysql/datadir
  • /data/mysql下创建datadir目录


    mkdir datadir
    chown -R mysql:mysql datadir/

  • 为mysql创建密码

    在执行此步之前一定要先执行

    systemctl start mariadb.service    //这里会创建mysql.sock到上述指定的文件目录下
    netstat -anp | grep 3306       //查看是否启动mysqld,启动的话会出现下面信息
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      5348/mysqld
    find -name mysql.sock          //出现 /data/mysql/mysql.sock
    

    出现上述信息说明已经成功启动,然后往下执行

  • mysql_secure_installation


    出现ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)错误,明明已经修改了路径,怎么还是/var/lib/mysql/mysql.sock,查看mysql_secure_installation脚本文件,
    :/Enter current password for root查找得到get_root_password()里面有一个make_config函数,进入
    在echo “password=$esc_pass” >> $config下增加
    echo “socket=/data/mysql/mysql.sock” >> $config

  • 继续执行mysql_secure_installation

    enter,Set root password? [Y/n] :输入y
    输入密码,确认密码
    Remove anonymous users? [Y/n] :输入y,移除匿名用户,保证数据库安全性
    Disallow root login remotely? [Y/n] :输入n,允许root用户远程登录,否则作为远端服务器是没有办法从localhost域在网页中登录的,这样就不利于使用phpMyadmin管理数据库了
    往下一路输入y,最后出现
    Thanks for using MariaDB!,配置成功
    重启数据库 systemctl restart mariadb.service

4.3.3 测试登入MariaDB

mysql -u root -p 输入密码登陆之后出现下面信息,说明登录成功

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.44-MariaDB-log MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]>

键入show databases;然后enter出现类似下面的表,说明成功操作数据库

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+

键入use mysql; show tables;然后enter出现类似下面的表,说明成功操作数据库

+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+

较为重要的是user这张表,里面记录了可登入的用户以及密码等等。

数据库安装完成

4.4 安装php以及其扩展组件

4.4.1 安装php主程序

  • yum install php
============================================================================================================
Installing:
 php                        x86_64                 5.4.16-36.el7_1                 os                 1.4 M
Installing for dependencies:
 libzip                     x86_64                 0.10.1-8.el7                    os                  48 k
 php-cli                    x86_64                 5.4.16-36.el7_1                 os                 2.7 M
 php-common                 x86_64                 5.4.16-36.el7_1                 os                 563 k

Transaction Summary

============================================================================================================

Is this ok [y/d/N]: y

  • rpm -qc php查看php的配置文件得到
    /etc/httpd/conf.d/php.conf
    /etc/httpd/conf.modules.d/10-php.conf

  • ls /etc/httpd/conf.d/可以看到有 php.conf配置文件,此文件会决定可以让apache.php文件进行解析
    查看配置文件可以看到有

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
  • ls /etc/httpd/conf.modules.d/会看到有10-php.conf,此文件可以让apache加载php模块对.php内部的php语句进行解析
<IfModule prefork.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>

模块在/etc/httpd/modules/libphp5.so 下面,ls即可看到

4.4.2 测试php主程序是否安装成功

echo "<?php phpinfo(); ?>" >> index.php`
systemctl restart httpd.service     //重启**apache**服务

在浏览器中输入IP地址访问,看是否有以下图片信息

4.4.3 安装php扩展


yum install php-common php-devel php-fpm php-gd php-mcrypt php-mysql php-pdo php-odbc php-snmp libjpeg* php-ldap php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel gd

5、配置php,数据库mariadb,apache

5.1 配置apache

ServerName www.example.com:80
将此行的注释去掉,改为自己的域名,如果没有域名就是用IP地址

<IfModule dir_module>
    DirectoryIndex index.html //在这里添加index.php
</IfModule>

AddDefaultCharset UTF-8改为
AddDefaultCharset GB-2312

我这里替换所有的var到我自己的网页存放目录
:g/var/s//data/g

5.2、配置php

vim /etc/php.ini
:/default_charset   //在vim编辑器里查找

在;default_charset = “UTF-8”下面添加
default_charset = “gb2312”

:/extension

; extension=msql.so,在下面添加

extension=mysql.so
extension=mysqli.so

/* 经由测试其实不用添加,在php安装的时候已经写死了 */

6、联合测试

6.1 测试php对mysql的支持

  • 进入数据库管理
CREATE USER 'bym'@'%' IDENTIFIED BY '123456';   //为mysql创建一个新的用户
create database bym;    //创建一个新的数据库
use bym                 //切换数据库
CREATE TABLE testable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));   //创建一个表
insert into testable values('mark', '1', '1995-11-13', 'new york');     //插入一条数据
select * from testable  //查看表数据
grant all privileges on bym.* to 'bym'@'%' identified by '123456';          //为用户分配权限

重启apache服务,systemctl restart httpd.service
index.php测试文件里面加入

<?php
$link = mysql_connect("localhost", "bym", "b1y9m5");

if (!$link) {
    echo "Error: Unable to connect to MySQL.";
    echo "Debugging error: " . mysql_error();
}
?>

出现Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

  • /etc/php.ini文件里面
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
#下面两行是新加入的
[mysql]
mysql.default_socket = "/data/mysql/mysql.sock"
发现还是不行,原来在php中把此文件路径写死了,必须去/var/lib/mysql下面去找,解决办法有两个
1、在PHPmysql_connect中加入:/data/mysql/mysql.sock,如下面的php语句块所示,指定文件位置.
2、还有是在/var/lib/mysql下面建立一个连接文件到/data/mysql/mysql.sock如下面所示
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock
ls -l /var/lib/mysql/mysql.sock
lrwxrwxrwx 1 root root 22 Apr 4 14:16 /var/lib/mysql/mysql.sock -> /data/mysql/mysql.sock

修改/data/mysql/mysql.sock路径所有文件的权限,全部修改为可读可执行,再次运行上面的测试,成功连接

  • 数据库读写测试,运行下面的.php文件之后在服务器端登录查看数据库表,看到表中数据的确增加了,说明phpmysql成功建立联系
<?php
$link = mysql_connect("localhost:/data/mysql/mysql.sock", "root", "r1o,o8t");

if (!$link) {
    echo "Error: Unable to connect to MySQL.";
    echo "Debugging error: " . mysql_error();
}

//echo "Success: A proper connection to MySQL was made! The my_db database is great.";
//echo "Host information: " . mysql_get_host_info($link);

if(!mysql_query("use bym", $link)) {
        echo "select error : " . mysql_error();
}

if(!($res = mysql_query("insert into testable values('mark', '0', '1997-2-23', 'china')", $link))) {
        echo "query error : " . mysql_error();
}
echo "" . $res;

mysql_close($link);
?>  

7、安装phpMyAdmin

  • yum install phpMyAdmin //此软件是一个数据库管理软件,可用于数据库的图像化管理

  • cp -a /usr/share/phpMyAdmin/ /data/www/html/
    后面是我的网页存放目录
    浏览器中输入http://你的ip地址/phpMyAdmin/可以访问到phpmyadmin的页面

  • vim /etc/httpd/conf.d/phpMyAdmin.conf //注释掉下面这段话,不然的话在浏览器里面输入的时候会访问/usr/share目录

#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
  • vim /etc/phpMyAdmin/config.inc.php
$cfg['Servers'][$i]['socket']        = '/data/mysql/mysql.sock';          // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['auth_type']     = 'cookie';改为
$cfg['Servers'][$i]['auth_type']     = 'http';  
//浏览器输入登录,不断地失败
$cfg['Servers'][$i]['auth_type']     = 'http';改为
$cfg['Servers'][$i]['auth_type']     = 'config';  
//浏览器登录,不断地失败
  • 再次vim /etc/phpMyAdmin/config.inc.php
    $cfg[‘Servers’][$i][‘connect_type’] = ‘tcp’; // How to connect to MySQL server (‘tcp’ or ‘socket’)
    我好像看到什么不得了的东西:‘tcp’,这什么东西,tcp还需要指定mysql.sock路径吗,看后面的注释,(‘tcp’ or ‘socket’),此处改为socket,再次运行,不行重启apache,终于登录成功。

  • 最后更改登录方式为下面,更安全一点

$cfg['Servers'][$i]['auth_type']     = 'http';    // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = 'user';          // MySQL user
$cfg['Servers'][$i]['password']      = '123456';          // MySQL password (only needed when the 'auth_type' set to 'config'

8、安装vsftp

vsftpd用来进行文件传输,可以在客户机上面进行网站文件编写,完成之后进行上传(必须的软件)
直接yum install vsftpd即可。安装完成后要用systemctl start vsftpd.service进行启动

www.htsjk.Com true http://www.htsjk.com/mariadb/37133.html NewsArticle 腾讯云CentOS7 LAMP(linux的apache MariaDB php)yum方式部署,centos7mariadb 服务器初始化配置过程 1创建新的用户 2配置用户的ssh秘钥 SecureCRT的几种登录方法 1 使用密码通过ssh登陆 11 在ssh的配置文件...
相关文章
    暂无相关文章
评论暂时关闭