您的位置:首页 > 理论基础 > 计算机网络

vm virtualbox 虚拟安装centos,安装nginx,mysql,PHP,及网络配置

2014-12-01 13:37 891 查看
在自己得电脑虚拟机上安装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@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

flush privileges;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: