#搭建Linux Web Server LAMP LAMP是 'linux + Apache + MySQL + Php' 的缩写 # 在ubuntu上安装LAMP ## apache2 `sudo apt-get install apache2` ## install php for ubuntu20.04 `sudo apt-get install libapache2-mod-php7.4 php7.4` 如果是其他版本的系统,php版本可能不同. ## mysql `sudo apt-get install mysql-server mysql-client` 如果mysql的版本为8.0以上: 在安装过程中不需要输入mysql database中root user的密码 安装完成后需要使用mysql_secure_installation 对mysql进行配置 `sudo mysql_secure_installation` 设置密码强度, root账户密码 ... mysql8.0以上 root用户默认通过auth_socket插件授权, 所以不支持通过`mysql -u root -p` 的方式登录。 只需要执行sudo mysql即可以root用户登录,并且不需要输入密码 mysql8.0及以后的版本调整密码强度: 查看validate_password相关的变量: `show variables like 'validate_password%';` ``` mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | STRONG | | validate_password.special_char_count | 1 | +--------------------------------------+--------+ 7 rows in set (0.00 sec) ``` 修改policy为 LOW: `set global validate_password.policy=LOW;` LOW只会采用validate_password.length, 只严重密码的最小字符串长度 *install phpmyadmin* `sudo apt-get install phpmyadmin` 安装过程会选择web server: apache2 or lighttpd 使用空格键选择apache2 # mysql 常用命令 ###登录命令 `mysql -u USERNAME -p` 在mysql 8.0以上,如果开启了auth_socket,则登录命令为: `sudo mysql` ###数据库的查看 创建 删除 | Description | command | | -- | -- | | 查看数据库列表 | `show databases;` | | 选中一个database | `use DATABASE_NAME;` | | 创建数据库 | `create database DATABASE_NAME` | | 删除数据库 | `drop database DATABASE_NAME` | example: ``` mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | phpmyadmin | +--------------------+ 4 rows in set (0.00 sec) ``` ``` mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed ``` *查看当前database中的tables* `show tables;` ###mysql用户管理 创建用户: `create user 'username'@'host' identified by 'passwod'` | 用户权限管理: `grant 'privilegesCode' on 'databasename'.'tablename' to 'username'@'host'` privilegesCode表示权限类型,有如下几种类型. | privilegesCode | 说明 | | all privileges | 所有权限 | | select | 读取权限 | | delete | 删除权限 | | update | 更新权限 | | create | 创建权限 | | drop | 删除database, table的权限 | 刷新权限变更 `flush privileges`; example: ``` mysql> create user gerrit@localhost identified by '1234'; mysql> grant all privileges on gerritdb.* to gerrit@localhost; mysql> flush privileges; ``` 这样就创建了一个gerrit用户,密码为1234 并授权gerrit可以访问gerritdb数据库 删除用户: `drop user 'username'@'host'` example: ``` mysql> drop user gerrit@localhost; ``` *修改用户密码* `alter user username@host identified by 'password'` 例: 把test用户的密码改为Test654321 `mysql> alter user test@localhost identified by 'Test654321';` # phpmyadmin phpmyadmin 是一个用php实现的,可通过web方式管理和操作MYSQL数据库的软件 `sudo apt-get install phpmyadmin` apache配置: 参考 /etc/phpmyadmin/apache.conf