car.3205 发表于 2015-4-15 09:25:53

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
  
  LoadModule php5_module modules/libphp5.so
  
  
  LoadModule php5_module modules/libphp5-zts.so
  
  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
  如果上班不行的话开可以使用这种方式
  # /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
  # /etc/rc.d/init.d/iptables save
  # /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;
页: [1]
查看完整版本: vm virtualbox 虚拟安装centos,安装nginx,mysql,PHP,及网络配置