lamp 模块化+vsftd+samba

领导看了之后,说你也试试php和ftp在同一个机器上,另外给你一台机器做samba和ftp让大家放点资料;同时我希望你详细了解vftpd配置文件的基本意思,做共享的时候领导和特殊岗位是有写权限的。

一 、模块化lamp

1、安装libxml2支持库:

yum install -y libxml2-devel支持库

2、备份编httpd.conf文件:

cp /etc/httpd24/httpd.conf  /etc/httpd24/httpd.bak.conf

3、下载编译PHP

cd /usr/local/download

[[email protected] download]# wget http://au2.php.net/get/php-5.5.30.tar.gz/from/this/mirror

./configure --with-apxs2=/usr/local/apache/bin/apxs --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5 --enable-sockets --enable-mbstring --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

make  && make install

[[email protected] php-5.5.30]# cp php.ini-production /etc/php.ini

4、编译httpd文件

vim /etc/httpd24/httpd.conf

DocumentRoot "/web/myadmin" 开启主服务器

<Directory "/web/myadmin">

Options Indexes FollowSymLinks 基于安全考虑 建议改成none

AllowOverride None      不允许覆盖

Require all granted     允许所有主机访问这个文档下的文件

</Directory>

#Include /etc/httpd24/extra/httpd-vhosts.conf 关闭虚拟主机

#LoadModule proxy_module modules/mod_proxy.so 关闭代理模块

#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.sodule 关闭fcgi代理模块

AddType application/x-httpd-php .php       确认支持PHP文件类型
    AddType application/x-httpd-php-source .phps

<IfModule dir_module>
    DirectoryIndex index.php index.html 确认php索引
     </IfModule>
5、phpmyadmin配置

cd /web/myadmin

[[email protected] myadmin]# cp config.sample.inc.php  config.inc.php

[[email protected] myadmin]# vim config.inc.php

$cfg[‘Servers‘][$i][‘auth_type‘] = ‘cookie‘;
/* Server parameters */
$cfg[‘Servers‘][$i][‘host‘] = ‘192.168.3.56‘; 数据库服务器地址
$cfg[‘Servers‘][$i][‘connect_type‘] = ‘tcp‘;
$cfg[‘Servers‘][$i][‘compress‘] = false;
$cfg[‘Servers‘][$i][‘AllowNoPassword‘] = false;

[[email protected] php-5.5.30]# service httpd restart

执行结果如图

二、vsftp的安装配置

1、安装vsftpd,并查看相应文件位置和作用

yum install vsftpd

rpm -ql vsftpd

/etc/pam.d/vsftpd   基于pam认证的vsftpd的启动文件
    /etc/rc.d/init.d/vsftpd  vsftpd 服务启动文件
    /etc/vsftpd       
    /etc/vsftpd/ftpusers     是否允许用户登录vsftpd服务器
    /etc/vsftpd/user_list    用户列表(白名单或者黑名单)
    /etc/vsftpd/vsftpd.conf  vsftp主配置文件

/var/ftp/pub             vsftp公用文件夹

2、查看vsftpd配置选项

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES 是否允许匿名访问;

local_enable=YES     是否允许系统用户登录;

write_enable=YES     开启写入权限;

local_umask=022      文件上传后的权限,用最高权限666减去你给的就是文件上传后的权限;

anon_upload_enable=YES   允许匿名用户上传文件;

anon_mkdir_write_enable=YES 允许匿名用户建立文件夹;

dirmessage_enable=YES  是否显示目录说明文件, 默认是YES 但需要手工创建.message文件;

xferlog_enable=YES  记录使用者所有上传下载信息;

connect_from_port_20=YES  控制以PORT模式进行数据传输时是否使用20端口;

chown_uploads=YES  开启匿名用户上传用户映射,默认不启用;

chown_username=whoever 指定匿名用户上传映射的用户名;

xferlog_file=/var/log/xferlog 指定上传下载信息记录文件路径;

xferlog_std_format=YES

idle_session_timeout=600 会话超时断开时间;

data_connection_timeout=120 数据连接超时断开时间;

nopriv_user=ftpsecure  指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户;

async_abor_enable=YES 是否允许运行特殊的ftp命令async ABOR;

ascii_upload_enable=YES 以二进制格式上传文件;

ascii_download_enable=YES 以二进制格式下载文件;

ftpd_banner=Welcome to blah FTP service. 登录ftp后的欢迎信息;

deny_email_enable=YES 拒绝指定email地址的用户登录;

banned_email_file=/etc/vsftpd/banned_emails 指定拒绝登录email的地址列表;

chroot_local_user=YES 是否将所有用户锁定在主目录;

chroot_list_enable=YES 开启锁定主目录的用户列表;

chroot_list_file=/etc/vsftpd/chroot_list 指定锁定用户列表的文件路径;

ls_recurse_enable=YES   ls_recurse_enable=YES 是否允许使用ls -R等命令;

listen=YES    开启ipv4监听;

listen_ipv6=YES 开启ipv6监听;

pam_service_name=vsftpd 设置PAM使用的名称,默认值为/etc/pam.d/vsftpd;

userlist_enable=YES  为yes时, /etc/vsftpd/user__list文件中的用户将不能访问vsftpd服务器;

tcp_wrappers=YES 启用tcp_wrappers实现服务器端针对客户端请求的访问控制;

3、配置虚拟用户访问vftpd

1)安装pam_mysql

vim /etc/yum.repos.d/CentOS-Base.repo

[ali-epel]
name=aliyun for centos6-epel
baseurl=http://mirrors.aliyun.com/epel/6/x86_64/
enabled=1
gpgcheck=0

[[email protected] ~]# yum repolist

[[email protected] ~]# yum install pam_mysql

2)数据库建立用户

进入数据库服务器192.168.3.56

mysql

MariaDB [(none)]> CREATE DATABASE vsftpd CHARACTER SET utf8 COLLATE utf8_general_ci ;

grant select on vsftpd.* to ‘my‘@‘192.168.3.55‘ identified by ‘[email protected]‘;

flush privileges;

MariaDB [(none)]> use vsftpd

MariaDB [vsftpd]> create table users (
    ->      id int AUTO_INCREMENT NOT NULL,
    ->     name char(20) binary NOT NULL,
    ->      password char(48) binary NOT NULL,
    ->      primary key(id)
    ->      );

MariaDB [vsftpd]> insert into users(name,password) values(‘tom‘,password(‘magedu‘));

MariaDB [vsftpd]> insert into users(name,password) values(‘ray‘,password(‘magedu‘));

3、配置vsftpd

1)建立pam认证所需文件

#vim /etc/pam.d/vsftpd.mysql
      添加如下两行
      auth required /lib/security/pam_mysql.so user=mytest  [email protected] host=192.168.3.56 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0
      account required /lib/security/pam_mysql.so user=mytest [email protected] host=192.168.3.56 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0

2)修改vsftpd的配置文件,使其适应mysql认证

建立虚拟用户映射的系统用户及对应的目录
       # useradd -s /sbin/nologin -d /var/ftproot vuser
       # chmod go+rx /var/ftproot

vim /etc/vsftpd.conf  确认以下选项是否开启

anonymous_enable=YES
        local_enable=YES
        write_enable=YES
        anon_upload_enable=NO
        anon_mkdir_write_enable=NO
        chroot_local_user=YES

而后添加以下选项
         guest_enable=YES
         guest_username=vuser

并确保pam_service_name选项的值如下所示
         pam_service_name=vsftpd.mysql

4、配置并使用虚拟用户

1) 添加虚拟用户配置文件路径

# vim vsftpd.conf

添加如下选项
       user_config_dir=/etc/vsftpd/vusers_config

mkdir /etc/vsftpd/vusers_config/
       cd /etc/vsftpd/vusers_config/
       touch tom jerry

2) 添加虚拟用户配置文件

vim tom

anon_upload_enable=YES
         anon_mkdir_write_enable=YES
         anon_other_write_enable=YES

5.验证效果:

三、samba共享

1、下载安装samaba

yum install samba.x86_64 –y

2、建立共享用户和组

1)建立系统用户

[[email protected] test]# groupadd -r develop
[[email protected] test]# groupadd -r readonly
[[email protected] test]# useradd -g readonly -G develop  -s /bin/nologin gentoo
[[email protected] test]# id gentoo
uid=502(gentoo) gid=492(readonly) groups=492(readonly),493(develop)
[[email protected] test]# useradd -g readonly -G develop  -s /bin/nologin centos
[[email protected] test]# useradd -g readonly  -s /bin/nologin ubuntu

2)建立共享用户

smbpasswd –a  ubuntu

smbpasswd –a centos

smbpasswd –a gentoo

密码为mageedu

smbpasswd选项:
         -a 将系统用户添加为samba用户;
         -d 在samba中禁用此帐号;
         -e 启用禁用的帐号
         -x 从samba中删除此帐号

3、编辑共享文件:

vim /etc/samba/smb.conf

1)文件各选项说明

workgroup = MYGROUP 定义工作组
        netbios name = MYSERVER  netbios解析中的名字
        interfaces =  定义监听地址
        host allow =   定义基于ip控制的白名单;
        用[自定义共享 ]
        path= 你要共享的目录
        guest OK=     是否允许来宾帐号
        wirteable= 是否拥有写权限
        printable= 是否打印
        writelist= +你要给写权限的组  这个选项要指明你要哪些用户可写。
        testparm 测试语法是否有误

2)实际配置

workgroup = magedu 设定工作组为magedu
        netbios name = magedu test netbios解析中到的名字为 magedu test
        hosts allow = 127. 192.168.3. 只允许本机和192.168.3.网段内的机器访问
         [shared]  共享名为shared
         comment = mage  注释 mage
         path = /data    将本地根目录下的data共享出去
         guest ok = no    不允许来宾访问
         writable = yes    具有写权限
         write list = +readonly readonly组中的成员可写,实际上不可写 还需要系统中授权

4、建立系统文件夹,启动服务测试:

1)mkdir /data

setfacl -m g:develop:rwx /data

getfacl -a /data

[[email protected] samba]$ service smb start;service nmb start

service iptables stop

setenforce 0

5、客户端测试结果如下图:

搞定 等待领导验收!

时间: 2024-08-16 02:30:39

lamp 模块化+vsftd+samba的相关文章

samba共享目录构建wordpress与mysql

项目一 (1) 使用samba共享/data/application/web,在目录中提供wordpress; (2) 使用samba客户端挂载samba server共享的目录至/var/www/html: (3) 客户端(lamp),部署wordpress,并让其正常访问:要确保能正常发文章,上传图片: (4) 客户端2(lamp),挂载samba server共享的目录至/var/www/html:验正其wordpress是否可被访   问:要确保能正常发文章,上传图片: samba服务器

利用samba给mysql提供数据存储服务

利用samba部署wordpress (1) samba server导出/data/application/web,在目录中提供wordpress; (2) samba  client挂载nfs server导出的文件系统至/var/www/html: (3) 客户端(lamp)部署wordpress,并让其正常访问:要确保能正常发文章,上传图片: (4) 客户端2(lamp),挂载samba  server导出的文件系统至/var/www/html:验正其wordpress是否可被访问: 要

samba共享目录及多台客户端挂载

实验内容: (1) samba server导出/data/application/web,在目录中提供wordpress; (2) samba  client挂载samba server导出的文件系统至/var/www/html: (3) 客户端(lamp)部署wordpress,并让其正常访问:要确保能正常发文章,上传图片: (4) 客户端2(lamp),挂载samba  server导出的文件系统至/var/www/html:验正其wordpress是否可被访问: 要确保能正常发文章,上传

samba共享目录多台主机挂载,搭建WordPress

项目实践一: (1) 使用samba共享/data/application/web,在目录中提供wordpress; (2) 使用samba客户端挂载samba server共享的目录至/var/www/html: (3) 客户端(lamp),部署wordpress,并让其正常访问:要确保能正常发文章,上传图片: (4) 客户端2(lamp),挂载samba server共享的目录至/var/www/html:验正其wordpress是否可被访问:要确保能正常发文章,上传图片: 项目实践二: (

文件服务相关博客作业

nfs和sameba博客作业 博客实践作业: (1) nfs server导出/data/目录: (2) nfs client挂载/data/至本地的/mydata目录:本地的mysqld或mariadb服务的数据目录设置为/mydata, 要求服务能正常启动,且可正常 存储数据 (3) 客户端(lamp)部署wordpress,并让其正常访问:要确保能正常发文章,上传图片: (4) 客户端2(lamp),挂载nfs server导出的文件系统至/var/www/html:验正其wordpres

基于Nfs和Samba的Lamp环境实现

一 系统环境二 网络文件系统与web环境的结合三 搭建lamp环境四 实现nfs服务五 实现samba服务六 实现效果 一 系统环境 系统平台:CentOS release 6.8 (Final) Lamp:httpd-2.2.15 mysql-server-5.1.73 php-5.3.3 Nfs:nfs-utils-1.2.3 rpcbind-0.2.0 Nfs Server IP:172.18.67.1 Samba:samba-3.6.23 samba-client-3.6.23 samb

LAMP编译安装只PHP以模块化的方式工作

php在apache下一般有三种工作方式:CGI,Apache模块,FastCGI 在CGI模式下,如果用户请求一个php文件,web服务器就会调用php解析器去解析这个文件,然后把结果返回给客户端. 在apache模块模式下,将php解析器作为了apache的一个模块,这样php解析器就与web服务器一起运行. 在fastcgi模式下,web服务器不会像cgi那样每次都启动一个新的进程,而是将内容传递到一个已有的进程中(这个进程在web服务器启动时就开启了,而且不会退出),这个进程就会一次次的

Linux中LAMP实现、SQL语句及FTP与Samba服务配置

1. 搭建php-fpm工作方式的LAMP环境,实现wordpress正常访问 Mysql服务的搭建 [[email protected] ~]# yum -y install mariadb-server.x86_64 [[email protected] ~]# cat /etc/my.cnf.d/server.cnf # # These groups are read by MariaDB server. # Use it for options that only the server

通过samba共享目录的方式搭建lamp平台并安装wordpress(一)

在A主机上安装httpd,php,mariadb,samba-client,作为samba client,在B主机上安装samba,作为samba server.A主机IP192.168.199.157,B主机IP 192.168.199.174. 1.在A主机上安装httpd,php,php-mysql,mariadb,samba-client ~]# yum install httpd php php-mysql mariadb-server samba-client 2.在B主机上安装sa