Linux centOS 新建虚拟机---->搭建NMP环境

本文档详细介绍了在新装的Linux CentOS虚拟机中如何一步步搭建NMP环境。首先,调整字体和编码以满足显示需求,然后配置网卡IP并设置DNS以实现外网访问。接着,安装FTP服务器,以及为编译PHP和Apache所需的GCC。在安装过程中,可能会遇到一些依赖问题,如perl-DBI和compat-libstdc++-33,需要通过yum解决。最后,安装MySQL数据库,完成NMP环境的构建。

新装系统 可能字体格式不符合要求  先修改字体 及编码

修改/etc/sysconfig/下的i18n文件,将其中的LANG改为"en_US.UTF-8" 

新建虚拟机后 首要任务设置配置网卡

ifconfig eth0 192.168.1.131 netmask=255.255.255.0

设置网卡IP后 就可以用SSH工具连接虚拟机 此时网卡还不能访问外网 配置DNS地址

1、最常用的给网卡配置ip的命令为

ifconfig eth0 192.168.1.131 netmask 255.255.255.0
说明:
eth0是第一个网卡,其他依次为eth1,eth*
192.168.0.1是给网卡配置的第一个网卡配置的ip地址
netmask 255.255.255.0 配置的是子网掩码
up是表示立即激活

 ifconfig的更多参数说明查看相关帮助

2、手动改/etc/sysconfig/network-scripts/ifcfg-eth0文件

vi打开ifcfg-eth0文件

原内容:

DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:03:47:2C:D5:40
ONBOOT=yes
TYPE=Ethernet

改为:

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.131

NETMASK=255.255.255.0
GATEWAY=192.168.1.4

HWADDR=00:03:47:2C:D5:40
ONBOOT=yes
TYPE=Ethernet

分别执行命令
/sbin/ifdown eth0
/sbin/ifup eth0
/etc/init.d/network restart  //使设置的网关马上生效

ifup - 代表拨号的连接命令,该命令只要在命令行或终端中可以成功执行就可以了
ifdown - 代表断开连接的命令,同样该命令只要在命令行或终端中可以成功执行就可以了

3、设置DNS

/etc/resolv.conf

nameserver 192.168.1.4 指定了dns服务器的地址


接下来配置FTP

rpm -qa | grep vsftpd           ---------查看有无安装,若没有,则要安装,我采用的是yum
yum install vsftpd
见下:
[root@ftp sbin]# yum install vsftpd
[root@ftp sbin]# service vsftpd status
vsftpd is stopped
[root@ftp sbin]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
(这是转网上的步骤  我在这一步时 启动 失败 但是 不影响使用 重启VPS后正常)
[root@ftp sbin]#
 
2.设置每次开机时自动运行及手工启动它:
chkconfig vsftpd on
service vsftpd start
netstat -tl    可以查看ftp端口是否在侦听了!
相关配置文件:/etc/vsftpd/vsftpd.conf里面;
 
另外 设置  FTP组的账户 只允许 FTP登陆  在 创建用户时
useradd -d /home/XXXX -g ftp -s /sbin/nologin username // -s 设置 shell登陆方式  这里设置为 不允许登陆
另外
e. 用户登陆限制进其它的目录,只能进它的主目录
设置所有的本地用户都执行chroot
Chroot_local_user=yes (本地所有帐户都只能在自家目录) (这一句 我没有在 我的配置文件中 发现 不过 默认有这功能  )
设置指定用户执行chroot
Chroot_list_enable=yes (文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list    //这个文件名 只是一个变量的值而已 可以视情况 而定
注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可
 
3.至此已经可以FTP已经可以正常运行了,

一、禁止用户访问上一级目录

修改/etc/vsftpd/vsftpd.conf
将底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
二、设置禁止用户访问上一级目录名单

新增一个档案: /etc/vsftpd/chroot_list
增加用户名单:
cb
重新启动vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
若是cb欲切换到根目录以外的目录,则会出现以下警告:
ftp> cd /home
550 Failed to change directory.

 

问题1:

当我试图用root vsftpd登陆时 报错:
530 Permission denied。
故障排除:
1.首先检查系统是否开启了vsftp服务,如果没有开启,先开启该服务。
  方法1.setup--系统服务--自启动服务
  方法2.界面设置,service vsftpd restart
 
2.查看配置
vsftpd的配置,配置文件中限定了vsftpd用户连接控制配置。
vsftpd.ftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。
vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。
 (最后 发现是 vsftpd.ftpusers 和 vsftpd.user_list 这二个文件 限制了 root帐号的登陆 虽然找到了原因  但是因为安全考虑 避免root帐号过多 暴露 重新建立了一个 上传文件的帐号)
3.配置修改完成后,执行service vsftpd restart重启vsftpd服务。


编译安装PHP apache 等 必须要用GCC支持 先安装GCC

GCC安装顺序

rpm -ivh glibc-common-2.5-42.i386.rpm
rpm -ivh kernel-headers-2.6.18-164.el5.i386.rpm
rpm -ivh libgcc-4.1.2-46.el5.i386.rpm
rpm -ivh glibc-2.5-42.i686.rpm
rpm -ivh cpp-4.1.2-46.el5.i386.rpm
rpm -ivh libgomp-4.4.0-6.el5.i386.rpm
rpm -ivh nscd-2.5-42.i386.rpm

rpm -ihv kernel-headers-2.6.18-92.el5.i386.rpm(在安装 下面的headers之前先安装这个包 不然会报依赖错误)
rpm -ivh glibc-headers-2.5-42.i386.rpm
rpm -ivh glibc-devel-2.5-42.i386.rpm
rpm -ivh gcc-4.1.2-46.el5.i386.rpm
rpm -ivh libstdc++-4.1.2-46.el5.i386.rpm
rpm -ivh libstdc++-devel-4.1.2-46.el5.i386.rpm
rpm -ivh gcc-c++-4.1.2-46.el5.i386.rpm

这是网上查询的centos 5.5版本GCC安装过程 安装文件 光盘中都有 可能文件版本号有差异  至止APAche 的编译就结束了

 

实际 VPS安装过程中 因为已经联网 直接 yum 安装即可 在网上 找到的 更新列表 直接 复制 即可
yum -y install pcre-devel perl-DBI compat-libstdc++-33 gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers vsftpd patch zip

安装MYSQL 在安装MYSQL过程中 可能会提示有一些组件 例 perl-DBI compat-libstdc++-33 这些都添加到yum这一步

下载 mysql RPM 安装包

(mysql 相关资源 下载地址:ftp://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.1/mysql-5.1.45.tar.gz)

我下了四个

MySQL-client-5.1.51-1.glibc23.i386.rpm

MySQL-devel-5.1.51-1.glibc23.i386.rpm

MySQL-shared-5.1.51-1.glibc23.i386.rpm

MySQL-server-5.1.51-1.glibc23.i386.rpm

(小插曲 在上传 这几个RPM时 因上传的编码格式有误 致使在安装的时候  提示md5 number 错误  换成 默认编码上传以后 正常)

rpm -ivh rpmfilename

如果存在依赖错误  调整先后安装顺序

4. 将/usr/share/mysql下的my-large.cnf考到/etc目录下,更名为my.cnf
5. 将/usr/share/mysql 下的mysql.server考到/etc/rc.d/init.d/下
6. 更改my.cnf,主要做如下修改(见蓝色字体)
[client]
.....
default-character-set   = gbk
.....
[mysqld]
....
default-character-set   = gbk
.....

很多情况下 因为MYSQL 默认打开DNS反向检测 在用域名连接数据库时 会很慢 添加选项关闭 反向DNS检测
[mysqld]
skip-name-resolve

 7.运行和停止mysql:
Service mysql.server start

启动MYSQL出错 Manager of pid-file quit without updating file.
打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器


停止
Service mysql.server stop

安装完成以后 ROOT密码需要设置

使用rpm包安装完成后,mysql、mysqladmin等命令放在/usr/bin里面,所以可以直接在任何目录使用命令,不用打目录!如果直接打命令不好用时,尝试打上目录,或检查是否安装正确!
# netstat -nat |grep 3306 //查看mysql端口是否打开
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
可以看到,3306端口打开了,说明数据库启动正常了!
# mysqladmin -u root password 'rootpw' //设置root用户密码
# mysqladmin -u root -h 主机名password 'rootpw' //设置host的访问密码,设置了这步,才能登录(这一步我并没有执行 执行上一步以后 已经能正常访问Mysql)
# mysql -u root –p //登录mysql数据库
Enter password:输入密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 5.0.22
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>;
mysql>; show databases; //试试查看一下数据库列表 








评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值