Ubuntu16.04下nginx、ftp、mysql的安装配置及用户创建

    在阿里云购买服务器后,需要安装一些最基本的服务:nginx、ftp、mysql,注意在阿里云安全组配置相关端口(80,21,22端口)。

    安装过程主要参考其他教程,我在他人教程的基础上记录一些遇到的问题及解决办法。

一、Ubuntu中安装配置nginx

参考教程:http://blog.csdn.net/u014374031/article/details/73441577

1.安装nginx相关依赖包 unable to locate package xxx

解决方法: sudo apt-get update 更新源

再安装相关依赖包

2.sudo make install失败

根据提示修改相应配置

相关错误:

(1)could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory)

查找目录,发现没有该目录,手动创建 mkdir指令

在/usr/local/nginx目录下执行: mkdir logs

(2)getpwnam("www") failed

没有配置用户,先配置www用户,如何配置教程里有。

(3)configuration file /usr/local/nginx/conf/nginx.conf test failed

需要配置文件位置

/usr/local/nginx/sbin/nginx  -c  /usr/local/nginx/conf/nginx.conf

3、修改配置文件/usr/local/nginx/conf/nginx.conf

主要修改以下两方面

 

格式:[User 用户名 用户组]

可用[groups 用户名]查看用户所在分组

注意这里配置的用户对文件是否有读写执行权限(具体见下面ftp中的相关问题)

 

修改文件指向目录和index名称

4、安装后80端口未打开

解决方法: nginx配置出错,重新配置文件位置

/usr/local/nginx/sbin/nginx  -c  /usr/local/nginx/conf/nginx.conf

 

 

二、Ubuntu中安装配置FTP服务

参考教程:http://zyjustin9.iteye.com/blog/2178943

1、在服务器下安装ftp服务,用root无法登陆

解决方法:安装ftp完成后,root在禁用列表里,进入/etc目录(etc位系统同配置文件目录,该目录包含系统启动脚本、启动配置文件、用户登录配置文件等其他文件),执行vim ./ftpusers, 修改禁用用户信息(将root注释),vim ./vsftpd.chroot_list查看当前可登陆用户信息。如果vsftpd.chroot_list文件不存在,会自动创建一个新的文件,我们将root用户写入该文件保存即可。

执行[ftp 服务器IP]可在服务器下登录ftp(保证21端口开放),exit/quit退出。

2、新添加的用户无法访问

vim /etc/vsftpd.conf

修改Pam_service_name=ftp(默认是vsftpd)

再重启服务service vsftpd restart

3.21端口关闭

配置文件没有注解掉listen_ipv6=YES,或者改为NO

4、新增用户权限问题

(1)修改文件权限(建议采用此种方式)

一种方法,在filezilla上修改文件权限,

另一种,命令行chmod 755 filename

chmod u=rwx g=rx o=rx filename效果相同

添加用户时,UID 是从500开始的; UID_MAX 60000 

Id username可查看用户uid gid group

 

(2)修改用户权限(不建议)

修改 /etc/sudoers文件

## Allows people in group wheel to run all commands
%wheel    ALL=(ALL)    ALL

注释去掉,然后修改用户使其属于root组

#usermod –g root username

通常Linux对于UID有几个限制。0(系统管理员),1~499(系统账号),500~65535(可登陆账号)

5、配置ftp用户

(1)创建目录

mkdir /home/ftpdir

(2)新建用户

sudo useradd -d /home/ftpdir -s /usr/sbin/nologin ftpuser

(3)修改新建用户密码

sudo passwd ftpuser

(4)配置权限

sudo chown ftpuser:ftpuser /home/ftpdir

 

和ftp用户登录限制有关的文件有三个,在/etc/目录下,有的原来有,没有的手动加一下

(1)ftpusers

禁用用户列表

(2)vsftpd.user_list

参考:https://blog.csdn.net/bluishglc/article/details/42273197

(3)vsftpd.chroot_list

vsftpd.chroot_list文件与vsftpd.conf文件中的chroot_list_enable,chroot_local_user配置项有关

通过搭配能实现以下几种效果:

(1).当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。  

(2).当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。  

(3).当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。  

(4).当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

 

三、Ubuntu中安装MySQL

参考教程:https://blog.csdn.net/xiangwanpeng/article/details/54562362

    MySQL的安装按教程走下去就好,需要注意的是进入mysql服务后,命令语句的结尾要加“;”分号,否则mysql不认为语句结束。

1mysql新增用户

(1)用root登录mysql

mysql –u root –p;

(2)添加新用户

1).允许本地访问

create user 'test'@'localhost' identified by '123456';

2).允许外网访问

create user 'test'@'%' identified by '123456';

(3)分配权限

grant all privileges on testdb.* to 'username'@'%' identified by 'userpwd' with grant option;

有几处标注红色的需要说明

第一处all privileges:表明给用户授予哪些权限,all/all privileges表示所有权限,我们也可以指定部分权限如create、update等等。

第二处testdb:表明授权用户对哪个数据库拥有权限,*表示对所有数据库都有权限。

第三处’%’:指示该用户可以在哪些主机上登陆,’%’表示所有主机都可登录。

第四处with grant option:加上这个参数表明用户(root用户不需要加)可以把自己已有的权限赋给第三方,不加的话就不可以。比如我们通过root用户给test用户分配权限,test用户想再给其他用户赋予权限就要加with grant option。

(4)刷新授权

flush privileges;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值