Centos7下lamp环境搭建的小笔记
刚刚把校赛弄完,赛前在环境搭建上花了蛮多时间,也正好记一下笔记
0.首先更新源
清华大学开源镜像站的源
https://mirrors.tuna.tsinghua.edu.cn/help/centos/
首先备份 CentOS-Base.repo
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
将源内容写入
/etc/yum.repos.d/CentOS-Base.repo
更新软件包缓存
sudo yum makecache
yum -y update
成了
1.安装apache服务
安装apache
yum install httpd httpd-devel
启动apache服务
systemctl start httpd
设置开机启动
systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
查看服务状态
systemctl status httpd
防火墙开启服务端口
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
确认服务
netstat -tulp
访问localhost或者127.0.0.1或者ip返回成功说明服务安装成功
2.安装mysql
**安装mysql **
yum install mariadb mariadb-server mariadb-libs mariadb-devel
rpm -qa |grep maria
mariadb-libs-5.5.52-1.el7.i686
mariadb-5.5.52-1.el7.i686
mariadb-server-5.5.52-1.el7.i686
mariadb-devel-5.5.52-1.el7.i686
开启服务 设置开机启动 检查状态
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb
确认服务
netstat -tulp
数据库安全配置
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] n
... skipping.
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!
登录
mysql -uroot -p
2.1数据库用户的权限配置
如果未安装phpmyadmin这类软件
在搭建环境中需要通过sql语句来完成不同用户的权限配置
查看用户
select user from mysql.user;
创建用户
创建用户名为test密码为test的用户
create user'test'@'localhost'identified by'test';
可以利用password('passwd')来对密码进行加密
create user 'test'@'localhost'identified by password'被加密后的值';
删除用户
删除用户需要带有明确的用户名以及主机名
drop user test@localhost;
修改账号
rename user'test'@'localhost'to'test1'@'localhost';
修改密码
新密码必须传递到password()中进行加密,或者是已经加密过的密码值(此时要加上引号)。
将用户test的密码从原本的'test'修改成明文'test'对应的散列值
set password for 'test'@'localhost'=password('test');
用户权限管理
查看权限
show grants for 'test'@'localhost';
权限赋予
grant select(cust_id,cust_name)
on mysql_test.customers
to'test'@'localhost';
授予在数据库mysql_test的表customers上拥有对列cust_id和列cust_name的select权限
grant select ,update
on mysql_test.customers
to 'test22'@'localhost'identified by'123';
新建一个用户为test22,并授予其在数据库mysql_test的表customers上拥有select和update的权限
grant all
on mysql_test.*
to'test'@'localhost';
授予可以在数据库mysql_test中执行所有操作的权限
grant create user
on *.*
to'test'@'localhost';
授予系统中已存在用户test拥有创建用户的权限
权限的转移与限制
授予当前系统中一个不存在的用户admin在数据库mysql_test的表customers上拥有select 和update 的权限,并允许其将自身的这个权限授予其他用户(通过with grant option):
grant select,update
on mysql_test.customers
to'admin'@'localhost'identified by'admin'
with grant option;
如果上面with子句后面跟的是max_queries_per_hour count、
max_updates_per_hour count、
max_connections_per_hour count、
max_user_connections count
中的某一项,则该grant语句可用于限制权限
grant delete
on mysql_test.customers
to 'admin6'@'localhost'
with max_queries_per_hour 1;--每小时只能处理一条delete语句的权限
权限的撤销
使用revoke可以实现权限的撤销,而不会删除用户
revoke select
on mysql_test.customers
from'test'@'localhost';--回收用户test在数据库mysql_test的表customers上的select权限
安装php
安装php
yum -y install php
执行rpm -ql php
/etc/httpd/conf.d/php.conf
/etc/httpd/conf.modules.d/10-php.conf
/usr/lib/httpd/modules/libphp5.so
/usr/share/httpd/icons/php.gif
/var/lib/php/session
关联mysql和php
yum install php-mysql
查看
rpm -ql php-mysql
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/usr/lib/php/modules/mysql.so
/usr/lib/php/modules/mysqli.so
/usr/lib/php/modules/pdo_mysql.so
安装php扩展
yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath
重启apache服务器
systemctl restart http
随便写个phpinfo然后去看看就知道成功与否
这就基本ok了
之前准备环境时的参考文章