腾讯云Centos 6.8 Apache+php+mysql+vsftpd环境搭建(亲测)

1.准备工作

(1) Centos版本 : 6.8 ,通过以下命令查询

 

# cat /etc/redhat-release
CentOS release 6.8 (Final)

(2)Apche版本 : httpd-2.4.29.tar.gz

 

(3)PHP版本:php-5.6.29.tar.bz2

(4)Mysql版本:mysql-5.6.35.tar.gz

(5)搭建VSFTPD

2.安装Mysql

(1) yum 安装 gcc-c++ 

 

$ yum install gcc-c++ bison ncurses-devel -y

(2)安装 cmake-3.7.1

 

 

$ cd /usr/local/src/
$ wget https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz
$ tar zxf cmake-3.7.1.tar.gz
$ cd cmake-3.7.1
$ ./bootstrap
$ gmake && gmake install
$ echo $?

(3)下载mysql

 

 

$ cd /usr/local/src/
$ wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35.tar.gz
$ tar zxf mysql-5.6.35.tar.gz

(4)配置、编译、安装mysql

 

 

cd mysql-5.6.35
$ cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3306 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
$ make && make install
$ echo $?

(5)创建用户、组、相关目录

$ groupadd mysql
$ useradd -r -g mysql -s /sbin/nologin mysql
$ mkdir -p /data/mysql
$ chown -R mysql.mysql /usr/local/mysql
$ chown -R mysql.mysql /data/mysql

(6)初始化数据库

$ chmod a+x scripts/mysql_install_db
$ ./scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/data/mysql \
--user=mysql

(7)拷贝、修改配置文件

$ cp support-files/my-default.cnf /etc/my.cnf
$ vim /etc/my.cnf
    basedir = /usr/local/mysql
    datadir = /data/mysql
    socket = /tmp/mysql.sock

(8)加入系统服务、设为开机启动

$ cp support-files/mysql.server /etc/init.d/mysqld
$ chmod 755 /etc/init.d/mysqld
$ chkconfig --add mysqld
$ chkconfig mysqld on
$ service mysqld start

(9)命令路径加入系统环境变量

$ vim /etc/profile.d/path.sh
    #!/bin/bash
    export PATH=$PATH:/usr/local/mysql/bin
$ source /etc/profile.d/path.sh
$ service mysqld restart

(10)初始化 root 密码

 

 

use mysql
update user set password=PASSWORD(‘123456’) where User='root';
FLUSH PRIVILEGES; 

3 安装Apache2

(1)查看Apache是否被安装:

 

find / -name 'httpd'

(2)安装apr-1.5.2.tar.gz

 

cd /usr/local/src
wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
tar zxf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install
echo $?

(3)安装apr-util-1.5.4.tar.gz

cd /usr/local/src
wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
tar zxf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
echo $?

(4)安装zlib

yum install zlib zlib-devel --setopt=protected_multilib=false pcre pcre-devel openssl openssl-devel -y

(5)安装apache

 

cd /usr/local/src
wget  https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.29.tar.gz
tar zxf httpd-2.4.29.tar.gz
cd httpd-2.4.29
./configure \
--prefix=/usr/local/apache2 \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre \
--with-z \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--enable-static-support
make && make install
echo $?

(6)加入系统服务,设为开机启动
 

$ cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
$ chmod 755 /etc/init.d/httpd
$ vim /etc/init.d/httpd
    # chkconfig: 345 85 15
    # description: Apache Web Server
$ chkconfig --add httpd
$ chkconfig httpd on
$ service httpd start
$ netstat -lnp | grep httpd

(7)路径加入系统环境变量、设置ServerName

$ vim /etc/profile.d/path.sh
    #!/bin/bash
    export PATH=$PATH:/usr/local/mysql/bin*:/usr/local/apache2/bin

source /etc/profile.d/path.sh


$ vim /usr/local/apache2/conf/httpd.conf                           
    ServerName localhost.xxx:80     
$ apachectl graceful

4  安装php-5.6

(1)安装依赖

 

yum install -y libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel libcurl libcurl-devel openssl openssl-devel

(2)下载安装

 

cd /usr/local/src
wget http://ncu.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
wget https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure prefix=/usr/local/libmcrypt
make && make install
echo $?wget http://ncu.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
wget https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure prefix=/usr/local/libmcrypt
make && make install
echo $?
cd /usr/local/src/
wget http://am1.php.net/distributions/php-5.6.29.tar.bz2
tar jxf php-5.6.29.tar.bz2
cd php-5.6.29
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-openssl --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir  --with-iconv-dir --with-zlib --with-mcrypt=/usr/local/libmcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-exif --enable-sockets --disable-ipv6 --with-xpm-dir=/usr --disable-fileinfo --with-freetype-dir --enable-mysqlnd 
make
make test
make install
echo $?

(3)报错 安装php时的报错
checking libxml2 install dir... no
checking for xml2-config path... 
configure: error: xml2-config not found. Please check your libxml2 installation.
 

 

检查是否安装了libxm包
rpm -qa |grep  libxml2
libxml2-2.6.26-2.1.12
libxml2-python-2.6.26-2.1.12
 
重新安装libxml2和libxml2-devel包
yum install libxml2
yum install libxml2-devel -y
 
安装完之后查找xml2-config文件是否存在
find / -name "xml2-config"
/usr/bin/xml2-config
 
如果存在的话重新安装php
./configure

configure: error: jpeglib.h not found.

yum install  libjpeg-devel

configure: error: png.h not found.

yum install  libpng-devel

configure: error: xpm.h not found.

yum install  libXpm-devel

configure: error: freetype-config not found.

yum -y install freetype-devel

(4)配置

 

cp php.ini-production /usr/local/php/etc/php.ini
vim /usr/local/apache2/conf/httpd.conf
    <IfModule dir_module>
         DirectoryIndex index.html index.php index.htm
    </IfModule>
    AddType application/x-httpd-php .php
vim /etc/profile.d/path.sh
    #!/bin/bash
    export PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache2/bin:/usr/local/php/bin
source /etc/profile.d/path.sh
apachectl restart

(5)编译安装php扩展curl.so

# wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
# tar -zvxf m4-1.4.9.tar.gz
# cd m4-1.4.9/
# ./configure && make && make install
# cd ../
# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
# tar -zvxf autoconf-2.62.tar.gz
# cd autoconf-2.62/
# ./configure && make && make install

 

cd /usr/local/src
wget http://curl.haxx.se/download/curl-7.58.0.tar.gz
tar zxvf curl-7.58.0.tar.gz 
cd curl-7.58.0
解压源码,并进入到ext/curl目录
安装:
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=/usr/local/curl(默认路径时无需指定)
make&&make install
会在/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525生成curl.so文件
配置:在php.ini或将所有扩展放置在单独的目录下。
cd/usr/local/php/etc/subconfig ;echo 'extension = "curl.so"' >curl.ini
修改php.ini : allow_url_fopen = On


启用,让扩展生效:
/usr/local/apache/bin/apachectl configtest
/usr/local/apache/bin/apachectl -k restart
/usr/local/php/bin/php -m |grep curl

 

 

 

5 搭建 VSFTPD 

 

 

 

 

(1)检测是否已经安装

 

rpm -qa | grep vsftpd

(2)安装,设置开机启动

 

yum -y install vsftpd
chkconfig vsftpd on

(3)修改配置文件

 

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO //设定不允许匿名访问
local_enable=YES //设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
chroot_list_enable=YES //使用户不能离开主目录
ascii_upload_enable=YES
ascii_download_enable=YES //设定支持ASCII模式的上传和下载功能
pam_service_name=vsftpd //PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证

(4)安装Berkeley DB工具

 

yum install db4 db4-utils

(5)创建用户

groupadd vsftpd
adduser  -g vsftpd -s /sbin/nologin ftpuser
passwd ftpuser

     创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码

 

ftpuser
123456

     打开/etc/vsftpd/vsftpd.conf,找到chroot_list_file 配置如下

 

chroot_list_file=/etc/vsftpd/vuser_passwd.txt

    生成虚拟用户认证的db文件

 

 

 

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

 

    随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:

 

 

 

 

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

 

   然后,打开/etc/vsftpd/vsftpd.conf,配置如下

 

 

 

 

local_root=/var/www  //虚拟用户根目录,根据实际情况修改
write_enable=YES  //可写

 

 设 置Selinux

 

 

setsebool ftp_home_dir=1   //设置ftp可以使用home目录
setsebool allow_ftpd_full_access=1   //设置ftp用户可以有所有权限

设置FTP根目录权限 最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限

 

mkdir /var/www   //创建目录
chmod R 755 /var
chmod R 777 /var/www

(6)设置防火墙

 

打开vi /etc/sysconfig/iptables

在“-A INPUT –m state –state NEW –m tcp –p tcp -–dport 22 –j ACCEPT”,下添加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

 

 

 

service iptables restart

 


(7)配置PASV模式

 

 

vsftpd默认没有开启PASV模式,现在FTP只能通过PORT模式连接,要开启PASV默认需要通过下面的配置

打开/etc/vsftpd/vsftpd.conf,在末尾添加

pasv_address=外网IP
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40080
pasv_promiscuous=YES

在防火墙配置内开启40000到40080端口

 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40080 -j ACCEPT

重启iptabls和vsftpd

 

service iptables restart 
service vsftpd restart 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值