vm virtualbox 虚拟安装centos,安装nginx,mysql,PHP,及网络配置
在自己得电脑虚拟机上安装centos之后一般是不会连接到外网的此时使用yum无法安装gcc,gcc++等编译软件,那么就没法编译安装 apache.mysql,此时需要更改 网路配置文件.
在虚拟机里设置 网路1为 网路地址转换NAT而非NAT模式, 网路2为桥接模式。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
在里面做如下配置
DEVICE=eth1 //网卡名
ONBOOT=yes //启动
BOOTPROTO=dhcp //使用dhcp
PEERDNS=yes //更改DNS文件
HWADDR=08:00:27:90:9B:08 //Mac地址 写成自己的centos的mac地址
然后保存退出
给centos添加一个网卡使用桥接模式
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTRPOTO=none //不适用dhcp
IPADDR=你的局域网IP
NETMASK=255.255.255.0
GATEWAY=局域网网关
HWADDR=mac地址
保存退出
重启网路以便加载更改。
service network restart //重启网路服务
此时可以使用 ping命令来测试下
ping -c 4 网关IP
如果返回正确,可以连接外网了。如果错误可以把网路1,网路2的设置调换下。
安装mysql
一般会出现,library字符的提示;为了防止错误
yum -y install gcc gcc-c++ ncursese ncurses-devel wget
获取mysql
cd /usr/local/src
wget http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.1/5.1.73.tar.gz //获取mysql
tar -zxvf mysql-5.1.73//解压mysql
cd mysql-5.1.73
配置编译文件
./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-assembler --with-big-tables --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=complex
make //编译
make install //安装
mysql配置:
增加mysql用户
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
更改数据目录权限
chown -R mysql.mysql /usr/local/mysql/var
chmod -R 700 /usr/local/mysql/var
初始化授权表
./lib/mysql_install_db --user=mysql
复制配置文件到etc以便开机启动mysql时检测到MYSQL的配置
cp ./share/mysql/my-medium.conf /etc/my.cnf
设置开机启动:
cp ./share/mysql/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rd.d/init.d/mysqld
chkconfig --add mysqld
加入MYSQL环境变量:
VI /etc/profile
添加
PATH=$PATH:/usr/local/mysql/bin //增加linux环境变量
export PATH
执行 . /etc/profile
启动mysql
service mysql start
php安装
编译一般会出现的错误
php出现安装错误 xml时:
yum -y install libxml2 libxml2-devel
yum -y install libpng-devel libjpeg-devel
安装 libmcrypt
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
出现 flock错误的时候:(找不到函数库的错误)
vim /etc/ld.so.conf.d/local.conf # 编辑库文件
/usr/local/lib # 添加该行
:wq # 保存退出
ldconfig -v # 使之生效
使用nginx做web服务器的时候,nginx是以CGI的方式来支持php的所以,安装php的时候要开启php的php-FPM功能。
下载PHP
wget http://cn2.php.net/distributions/php-5.4.7.tar.gz
./configure --prefix=/usr/local/php \
--enable-fpm \
--with-mcrypt \
--enable-mbstring \
--disable-pdo \
--with-curl \
--disable-debug \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql=/usr/local/mysql \ ## 需要先安装mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config \ ##需啊哟先安装MYSQL
--with-gd \
--with-jpeg-dir
make
make install
cp ./etc/php-fpm.conf.default ./etc/php-fpm.conf
vi ./etc/php-fpm.conf
user=www-data
group=www-data
:wq
./bin/php-fpm start;
安装 nginx
因为nginx 不原生的支持,gzip压缩,prec支持URL重写
wget ftp://ftp.csx.cam.ac.uk/pub.software/programming/pcre/pcre-8.34.tar.gz
安装zlib库:
wget http://zlib.net/zlib-1.2.8.tar.gz
下载nginx
wget http://nginx.org/download/nginx-1.4.2.tar.gz
解压缩后:
编译:
./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.34 \
--with-zlib=/usr/local/src/zlib-1.2.8 \
make
make install
配置nginx支持PHP
在nginx.conf 的 server 字段中加
user=nobody
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
include fastcgi_params;
}
启动 nginx
sudo /usr/local/nginx/nginx
然后查看apache是否加入php模块
未加入的话
vi /etc/httpd/conf.d/php.conf
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
AddHandler php5-sceipt .php
AddType text.html .php
DirectoryIndex. index.php
然后保存退出
service httpd restart
安装 mysql
yum install mysql mysql-server mysql-devel
安装成功之后
然后编辑防火墙设置 允许 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 -j ACCEPT(允许3306端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
/etc/init.d/iptables restart
如果上班不行的话开可以使用这种方式
[root@centos httpd]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@centos httpd]# /etc/rc.d/init.d/iptables save
[root@centos httpd]# /etc/init.d/iptables restart
给centos加第三个网卡,选择only 模式,以便虚拟机之间可以访问
我们需要做的是进入/etc/sysconfig/network-scripts目录,修改两块网卡的ifcfg文件即可
a. 修改ifcfg-eth0文件,配置Host-only网络:
# 第一块网卡
DEVICE=eth2
# 开机启动
ONBOOT=yes
# 启动协议,none/dhcp
BOOTPROTO=none
# 配置DNS
DNS=192.168.56.1
# 设置了DNS指令后是否自动修改/etc/resolv.conf文件,启动协议为dhcp时此项默认yes
PEERDNS=yes
# IP地址
IPADDR=192.168.56.110
# 掩码
NETMASK=255.255.255.0
# 网关
GATEWAY=192.168.56.1
# 网卡设备的物理地址,默认,与VirtualBox网络设置界面一致
HWADDR=08:00:27:75:AD:13
# 非root用户不能控制此设备
USERCTL=no
mysql设置root密码
use mysql
UPDATE user set password=password(‘password‘) WHERE user = ‘root‘;
flush privileges;
设置mysql远程连接
UPDATE user set host=‘%‘ WHERE user=‘root‘;
GRANT ALL PRIVILEGES ON *.* TO root@‘%‘ INDENTIFIED BY ‘password‘ WITH GRANT OPTION;
flush privileges;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。