centos从头学习配置web服务器环境

为了学习linux下配置web服务器环境,于是安装了vmware,准备在虚拟机里面学习web服务器的搭建!

首先是在虚拟机里安装centos,我选择的是32位的centos6.6版本,因为新版本7据说更改了好多命令,况且是新版本,于是没有采用!

至于选择32位的是因为我回头的vps的环境最大也就是2G(没有毛爷爷啊...) 所以就选择了32位的!

虚拟机安装centos基本上没啥说的,一直next就行了!(PS:vmware11 真心不错...)

-----------------------------------------------------------------------------   关闭GUI  ----------------------------------------------------------------------------------

安装成功之后,为了学习命令行,肯定是先关闭xwindow,也就是关闭GUI

操作就是编辑/etc/inittab文件 将id:5:initdefault: 改成 id:3:initdefault:

然后reboot就会进入命令行模式了!

-----------------------------------------------------------------------------   分辨率配置  ----------------------------------------------------------------------------------

进入命令行以后发现显示的界面很小,稍微长一点的内容都会换行,于是更改命令行下的分辨率:

操作就是编辑/boot/grub/menu.lst文件,在kernel开头的那一行添加vga参数:

如果不知道自己分辨率的值,可以在行为添加vga=ask,这样在每次启动的时候,都会列出所有支持的分辨率让我们选择:

比如我输入379 就会进入1280*768的分辨率。

已经改更改了命令行模式以及分辨率,那么首先肯定要先打一下补丁了!

su
******
yum update

就是root下使用yum update命令更新系统补丁或者漏洞

-----------------------------------------------------------------------------   tty设置  ----------------------------------------------------------------------------------

更新完成后,我们首先关闭多余的tty,tty是啥呢,我看了半天网上的解释,大致感觉就是终端差不多的东西!

centos默认是开启6个tty的

不过对于vps来说,我们基本上都是使用putty这一类的来远程连接的,于是我们开启2个tty就可以了!

具体操作有如下两步:

1.编辑/etc/init/start-ttys.conf

将其中开启6个终端的配置改成2个

就是将[1-6]改成[1-2]

从上面的脚本看出这个配置文件执行了/etc/sysconfig/init文件,那么就是我们要操作的第2步了

2.编辑/etc/sysconfig/init文件

同样的将ACTIVE_CONSOLES改成2个

reboot后使用ps命令查看当前终端就会只有tty1和tty2了:

ps aux | grep tty

-----------------------------------------------------------------------------   IPV6配置  ----------------------------------------------------------------------------------

然后就是为节省系统资源,关闭ipv6 以及ipv6的防火墙,对于VPS来说使用一个独立的IPV4是最常见的了!

操作就是编辑/etc/modprobe.d/dist.conf文件,在文件的末尾添加如下两行:

alias net-pf-10 off
alias ipv6 off

然后reboot 使用lsmod | grep ipv6 可以发现ipv6已经关闭了

然后就是关闭ipv6的防火墙,关闭就是开机不启动了,那就是使用chkconfig命令了

chkconfig ip6tables off

这样就关闭了ipv6以及ip6tables了!

-----------------------------------------------------------------------------   FTP配置  ----------------------------------------------------------------------------------

然后就是配置ftp了,以方便我们能够上传文档或者代码

首先就是检查是否已经安装了vsftpd

rpm -qa | grep vsftpd

如果没有就安装

yum install vsftpd

然后启动vsftpd

service vsftpd start

然后可是使用chkconfig命令设置ftp开机启动

(注:我并没有设置,因为VPS基本上也就我一个人管理,没有必要设置开机启动,就算需要使用ftp,我一般也会通过putty链接后,开启vsftpd ,然后使用结束后,关闭它)

安装vsftpd后,下面我们就是配置vsftpd了:

首先肯定是要禁止ftp的匿名登录:

操作就是编辑/etc/vsftpd/vsftpd.conf文件,设置anonymous_enable=NO,以及启用chroot_list_enable 和 chroot_list_file选项

然后更改FTP下默认的21端口号  操作就是在vsftpd.conf添加listen_port ****  以及设置启用ftp被动模式和设置被动模式端口范围!

listen_port ****pasv_enable=YESpasv_min_port=10020pasv_max_port=10040

然后就是修改/etc/services文件下的ftp的端口号

然后在/etc/vsftpd下建立chroot_list文件并编辑

并一行输入一个ftp用户

然后就是添加ftp用户组:

groupadd webftp

然后创建刚才添加的ftp用户(比如test用户):

useradd -g webftp -M -d /var/www -s /sbin/nologin test

使用-g参数将它归集到webftp用户组下,-M参数不设置它的主目录(没有-M参数/home里会有个wwwer文件夹,这个文件夹没多少实际用处,所以不用设置),-d参数设定它的初始登入目录为/var/www,-s参数设定它不需要登陆系统/sbin/nologin,它被命名为test。

补一条命令,如果要修改用户的主目录可以使用usermod命令,语法如下:

usermod -d /var/www2 username

然后为这个用户设置密码:

passwd test

将目录权限更改为该用户:

chown -R test.webftp /var/www

然后重启vsftpd服务

service vsftpd restart

现在可以使用netstat -ntlp | grep vsftpd 查看vsftpd监听的端口号是否改变了!

不过ftp还是不能链接的,因为我们还没有在防火墙里面为更改的端口添加通过的权限:

操作就是编辑/etc/sysconfig/iptables文件,照葫芦画瓢添加指定的端口就行了!

然后重启iptables,这样就可以访问ftp了,但是现在只能访问,是不能列出目录的,

因为selinux的限制,所以我们可以设置allow_ftpd_full_access开启即可!

setsebool allow_ftpd_full_access on

而且此代码重启失效,所以对我来说是适用的!

-----------------------------------------------------------------------------   mysql配置  ----------------------------------------------------------------------------------

现在可以配置mysql了

由于centos默认自己已经装了,于是就先卸载已经自带的mysql包

rpm -qa | grep mysql
mysql-lib***
yum remove mysql-lib***

这样系统自带的mysql就会被删除掉了 没有用rpm -e的强制,不知道那样会不会删除依赖,yum remove 貌似是删除了依赖关系的!

然后就是安装mysql了,安装没有什么问题,问题就是你选择什么版本了,关于版本选择,网上有很多解释了!我选择的是5.5.42 (PS:貌似大家都在吐槽mysql被oracle收购后出的那个什么版本...)

安装就没有什么了,rpm -ivh 就OK了

安装完成后,首先就是开启mysql服务 以及设置mysql开机启动(开机启动自己衡量就行了!)

service mysql start
chkconfig mysql on

然后就是设置mysql root用户密码以及整理用户什么之类的,mysql内部的语法,大家都懂,就不多说了!

有一个需要注意的地方就是rpm安装mysql不会在etc下生成my.cnf配置文件,我们需要手动把合适的配置文件复制到etc下

rpm安装mysql 配置目录在  /usr/share/mysql   然后根据服务器不同的内存配置选择不同的配置文件复制到etc就行了

我这里选择的是huge

cp /usr/share/mysql/my_huge.cnf /etc/my.cnf

然后就是更改mysql的端口号和防火墙设置:

更改端口号,因为在selinux下,所以需要更改selinux设置,网上都说使用semanage,

这个链接是我写的在selinux模式下更改mysql端口:

http://www.cnblogs.com/waitfate/p/4285859.html

内容如下:

默认情况下 mysql更改端口后是不能通过selinux的

提示启动错误,那么首先就要看mysql的错误日志

可是我不知道mysql错误日志的位置

首先,更改selinux的模式为passive 然后启动mysql(passive模式下是能够启动mysql的)

setenforce 0

然后是用ps命令查看日志位置:

ps ax|grep mysql
或者
ps ax|grep "[m]ysql"

从输出中找到--log-error

然后打开错误日志

提示:

[ERROR] Can‘t start server: Bind on TCP/IP port: Permission denied
150210 19:57:52 [ERROR] Do you already have another mysqld server running on port: 3308 ?

明显是绑定到3308端口的时候提示错误了!

那么就要更改selinux对mysql开启3308端口

网上搜索后说是需要使用semanage

但是centos里面并没有找到semanage命令

那么查看哪个包提供了semanage

yum provides /usr/sbin/semanage

发现是policycoreutils-python包

于是安装policycoreutils-python包

yum install policycoreutils-python

安装完成后,为mysql绑定3308端口

semanage port -a -t mysqld_port_t -p tcp 3308

然后设置selinux为强制模式然后重启mysql就可以了

setenfoce Enforcing
service mysql restart

更改端口这点就说到这! 至于防火墙,因为默认防火墙是开启的,我们不添加更改的端口到防火墙,外部是不能够通过修改后的端口连接到数据库的!

时间: 2024-10-10 09:45:05

centos从头学习配置web服务器环境的相关文章

阿里云CentOS搭建wordpress的Web服务器环境(nginx+php+mysql)

本博客每天会坚持写一篇原创技术文章,每天积累一点,每天进步一点. 在linux服务器搭建web服务器环境是做网站的基础功底,根据服务器端使用的编程语言不同有不同的搭建方法,比如服务器采用PHP,Java,Python,Ruby,Go语言等,本文就基于php的wordpress程序的服务器环境搭建做一些简单的探讨,如有遗漏和错误,欢迎大家进行指正和补充. Nginx安装 1,yum命令安装:yum install nginx2,测试nginx启动状态:service nginx status3,测

CentOS上搭建java WEB开发环境Tomcat+MySQL+JDK

对于初学者来说,想在linux系统上搭建一个java web服务器,不知道什么方案可行, 这篇文章主要是告诉这些基础和概念相对薄弱的同学,这样搭建是可行的,大体上没问 题的,出问题也是细节问题.所以此文只讲一个大体流程即可. 一.准备工作: Linux系统: CentOS release 6.4: Tomcat: apache-tomcat-8.0.9.tar.gz:下载:http://dev.mysql.com/downloads/ MySQL:mysql-5.1.73-3el6-5.src.

【ruby】【linux】【irb】CentOS上安装配置ruby开发环境,安装 irb

在读<理解Unix进程>这本书,书中代码是用Ruby写的,就自己想实践一下,搜来搜去要安装配置Ruby,我是centOS6.5的系统.下面这篇不错,我又加入了一点自己的理解和试验. 1 方法一:下载ruby的安装包来进行安装 1.安装编译环境gcc 使用yum install gcc在线安装 2.安装ruby开发环境 PS:经常在搜帖子的时候,大神的文章中都是随随便便下载个什么啊,又没告诉我这样的菜鸟到哪里下,让人几番周折,这里 下载 Ruby - Ruby 官方网站:https://www.

ubuntu12.04 安装nginx+php+mysql (lnmp)的web服务器环境

1.Ubuntu12.04 安装nginx+php+mysql (lnmp)的web服务器环境 http://blog.db89.org/ubuntu12-04-install-nginx-php-mysql-lnmp-of-the-web-server-environment/ 2.Ubuntu 12.04 mysql管理套件 mysql-workbench http://blog.db89.org/ubuntu-12-04-mysql-management-suite-mysql-workb

转帖:CentOS 6安装配置LAMP服务器(Apache+PHP5+MySQL)

这篇文章主要介绍了CentOS 6 安装配置LAMP服务器(Apache+PHP5+MySQL)的方法,需要的朋友可以参考下 准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -

阿里云服务器centos下安装配置svn服务器

阿里云服务器centos下安装配置svn服务器 1.安装svn服务器端 yum install subversion      从镜像下载安装svn服务器端中间会提示是否ok,输入y,确认安装成功提示:.....complete!依次执行如下命令:cd /usr/local/              //进入目录,准备创建svn目录 mkdir svnRepo                   //创建一个svn目录 chmod -R 777 svnRepo            //修改目

CentOS下Web服务器环境搭建LNMP一键安装包

时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp-2.5 更新时间:20140822 MD5值:5CA8E1688BA6830CF05357068C384A1A 安装说明:请保证服务器能够正常上网.yum命令可以正常使用! 1.wget http://www.osyunwei.com/lnmp/lnmp-2.5.tar.gz #下载,需要先执行yum install wget安装下载工具 2.tar

【CentOS 7】nginx配置web服务器

1,安装过程 [[email protected]_1_14_centos ~]# cd /data/ [[email protected]_1_14_centos data]# wget http://nginx.org/download/nginx-1.15.7.tar.gz [[email protected]_1_14_centos data]# tar -xvf nginx-1.15.7.tar.gz [[email protected]_1_14_centos data]# mkdi

搭建web服务器环境

搭建web服务器的环境(配置PHP的工作环境): 首先要配置php,在Apache的配置文件夹中httpd.conf中配置 1把php配置成Apache的一个功能模块 LoadModule php5_module "F:\class22\amp\php\php5apache2_2.dll" 2.指定.php 后缀的文件交给PHP的功能模块处理 AddType apalication/x-httpd-php .php 3.确定PHP的配置文件php.ini的路径 PHPIniDir &q