安装phpmyadmin ubuntu下

5 篇文章 0 订阅
4 篇文章 0 订阅

安装apache、mysql、php5、phpmyadmin

代码:
sudo apt-get install apache2 mysql-server  php5 php5-mysql php5-gd phpmyadmin


mysql有客户端、服务器端,命令行下配置、管理mysql需要用到客户端,mysql-server包会自动安装客户端和服务器端。php5-gd包是和处理图形函数相关的。

装好后,mysql管理员是root,无密码,通过http://localhost/phpmyadmin 就可以访问mysql了。

访 问mysql的用户的权限被保存在mysql里一个叫mysql的数据库里,phpmyadmin通过controluser访问mysql数据库得到用 户的权限信息,并根据用户权限显示相应等级的管理界面(在刚安装好,没有配置phpmyadmin之前,是默认用root、无密码来查询的)。 controluser只需要简单的查询权限,在phpmyadmin的文档http://localhost/phpmyadmin/Documentation.html 里有说明:

SELECT privilege on the mysql.user (all columns except "Password"), mysql.db (all columns), mysql.host (all columns) and mysql.tables_priv (all columns except "Grantor" & "Timestamp") tables.

此用户需要有 mysql.user(除了Password列)、mysql.db、mysql.host、mysql.tables_priv(除了Grantor、 Timestamp)表的查询权限。上面mysql是数据库名,user、db等是他的数据表名,括号里是他的列。所以在登录phpmyadmin后,需 要新建一个具有这些权限的controluser,给phpmyadmin查询mysql。这里不直接用root的原因是,controluser的密码 必须以明文保存在/usr/share/phpmyadmin/config/config.inc.php中,所以新建一个只有查询所有用户权限的自身 权限极小的用户,可以避免风险。

现在我们添加一个叫pma的controluser:在phpmyadmin(可以先在右边选择界面语言 -中文)左边界面选权限-添加新用户,输入用户名、密码、主机(这里指phpmyadmin所在,为本地localhost,若phpmyadmin和 mysql不在同一台机器,就填phpmyadmin的ip或域名),比如pma、pmapass,全局权限等不选,点执行。完成后再点权限,在用户 pma行最右边点编辑,然后在按数据库添加权限选mysql数据库,再在按数据表添加权限选user数据表,选择select权限里除了password 的其他所有列,点执行。用同样的方法添加上面提到的权限,就完成了用户pma的权限设置。以上也可以用SQL语言来完成,点权限-SQL,输入(把下面的 用户名pma、密码pmapass等改成你自己的设定)

代码:
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
    ) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
    ON mysql.tables_priv TO 'pma'@'localhost';



现在进行phpmyadmin的配置:用phpmyadmin的脚本来配置http://localhost/phpmyadmin/scripts/setup.php , 在server项点add(若是修改原有配置就点下面configuration的load),主机(mysql所在)localhost、端口,认证方 式Authentication type选http(指浏览器弹出一个窗口让你填登录mysql的用户、密码,config方式为保存明文到文件,不推荐),下面的config用户、密 码为空(因为选了http方式),control user用户pma,密码pmapass,点add。在configuration点display就可以看到你设置的全部内容了,点save保存,保存 到/usr/share/phpmyadmin/config/config.inc.php,选download则下载配置文件。配置时不要选安全连接 ssl,因为那需要进一步安装openssl、apache2的ssl模块,现在只能普通连接。

将phpmyadmin文件夹在web下的访问权限配置文件复制到apache目录

代码:
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf.d


这 个默认权限是禁止访问/phpmyadmin/config/config.inc.php文件(保存密码等),访问/phpmyadmin /scripts/setup.php文件(配置phpmyadmin的)需要认证,除非URL中指定访问的文件,否则不列举出目录下的文件。
修改setup.php文件的认证用户、密码

代码:
sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup username


username为用户名,接着输入密码。-c参数是新建一个配置文件,如果只是新添用户就不加参数。
需要重启apache服务设置才能生效

代码:
sudo /usr/sbin/apache2ctl restart


有时候要先stop、再start才生效。可能要重启firefox断开原来连接才能见到效果。

下面修改mysql管理员密码:可以在进入phpmyadmin后直接修改root的密码。或在命令行修改

代码:
sudo mysql -u root


若root已经有密码则

代码:
sudo mysql -u root -p


输入原密码。接着设置新密码

代码:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');


若你想新建一个具有所有权限的新用户

代码:
GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;


刷新权限表信息

代码:
mysql> FLUSH PRIVILEGES;


退出

代码:
mysql> /q


sql语法,即上面大写的部分(可以不用大写)需用;号结束。

若忘了管理员密码,先在菜单-系统-管理-系统监视,把mysql相关进程杀掉,以无认证方式启动mysql

代码:
sudo mysqld --skip-grant-tables


设置新密码

代码:
mysqladmin -h hostname -u username password yournewpassword


刷新权限表

代码:
mysqladmin -u root -p flush-privileges


输入密码

注意mysql中管理员root(或其他名称)和系统管理员root不相关。

若因用户权限原因phpmyadmin进不了mysql,试着修改config.inc.php文件或mysql管理员密码。

若/etc/phpmyadmin下的一些配置文件误删了,重装phpmyadmin也没用,只会说not replace deleted file...。这些在/usr/share/ucf/phpmyadmin/etc/phpmyadmin下有备份,复制过来即可。

 

 

在上面的基础上开启ssl。

生成一个简单的证书文件(在/etc/apache2/ssl/apache.pem,一个月后过期,不影响使用。详细设置用openssl)

代码:
sudo apache2-ssl-certificate



将原有默认站点配置复制一份为default.ssl

代码:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default.ssl


做一个软连接到sites-enabled,以启用新站点

代码:
sudo ln -s /etc/apache2/sites-available/default.ssl /etc/apache2/sites-enabled/000-default.ssl



修改原配置为80端口

代码:
sudo gedit /etc/apache2/sites-available/default

 

代码:
NameVirtualHost *
<VirtualHost *>


改为

代码:
NameVirtualHost *:80
<VirtualHost *:80>



修改新配置为443端口,并开启ssl

代码:
NameVirtualHost *
<VirtualHost *>

 

改为

代码:
NameVirtualHost *:443
<VirtualHost *:443>


并加上

代码:
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem



添加apache监听端口443

代码:
sudo gedit /etc/apache2/ports.conf


加上

代码:
Listen 443



启用ssl模块

代码:
sudo a2enmod ssl


重启apache

代码:
sudo /usr/sbin/apache2ctl restart
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值