月度归档:2015年03月

Ubuntu和Windows双系统安装

这是在Windows系统的基础上安装Ubuntu 15.10系统。

前期准备

压缩卷分出30G以上的空间,不进行分区,备用。

首先下载Ubuntu 64位版。用UltralISO将iso文件写入到U盘中。

系统安装

用U盘引导进入Ubuntu安装过程。安装过程中有三个选项:

  1. 和Windows 7共存
  2. 删除原来分区,安装Ubuntu
  3. 其他选项

这里我们选择第三个,进行自定义分区。

在自定义分区中划分以下挂载点,分区均可选择为逻辑分区(是逻辑分区还是主分区并没有影响):

swap    8G
/boot    256M
/    30G
/home    剩余空间

并选择将引导文件写入到/boot所在的分区中。

完成剩余过程。

如果在这过程中出现错误或停住不能继续下去,则退出安装,重新启动。进入Windows操作系统,打开磁盘分区表,将Ubuntu安装过程中划分的分区删除,并重新建立分区。格式化这个分区,然后再删除掉这个分区。然后重新进入安装过程。

建立引导

使用EasyBCD建立引导。点击Add New Entry,加入Linux引导方式。选择刚才挂载/boot的分区作为引导分区。

20160320180540

大部分教程在这个地方Type选择的是GRUB(Legacy)方式引导,但是我用这种方式启动后无法进入Ubuntu系统。所以这里我选择的是GRUB 2方式,然后就ok了。

 

CentOS安装MongoDB及PHP-Mongo(yum方式)

1、添加yum源

# vi /etc/yum.repos.d/10gen.repo

[10gen] 

name=10gen Repository 

baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 

gpgcheck=0

:wq

2、安装

# yum install mongo-10gen-server
# yum install mongo-10gen

3、安装php-mongo

# wget http://pecl.php.net/get/mongo-1.2.2.tgz
# tar zxf mongo-1.2.2.tgz
# cd mongo-1.2.2

4、运行phpize来准备编译扩展的环境

# /usr/bin/phpize

Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

若没有phpize文件,则安装

# yum install php-devel

5、运行后,./configure 脚本就会生成了,这个时候我们运行./configure脚本来进行配置。–with-php-config这个参数是告诉配置脚本php-config这个程序的路径

# ./configure --with-php-config=/usr/bin/php-config
# make && make install

6、在php.ini中加上一句声明

# vi /etc/php.ini
extension=mongo.so

可能遇到的错误

1、执行mongod命令时报错

ERROR: dbpath (/data/db) does not exist.

解决方法:创建db目录

# mkdir -p /data/db
# chown -R root /data
# mongod --dbpath /data/db

执行

# mongod

系统运行至

waiting for connections on port 27017

在浏览器中访问

http://localhost:27017

浏览器返回

It looks like you are trying to access MongoDB over HTTP on the native driver port.

此时启动mongodb服务将不会出现failed

# service mongod start

2、27017端口被占用

查询进程,kill之

# ps -ef|grep 'mongo\|PID'
# kill -9 %PID%

3、在phpinfo中找不到mongo扩展,换句话说就是mongo扩展添加失败

http://php.net/manual/zh/mongo.installation.php#mongo.installation.fedora

按照上面网站的方法成功解决

执行命令,重新安装mongo服务(可选)

# pecl install mongo

查看mongo.so所在目录和php.ini中的extension_dir路径是否相同

# php -i|grep extension_dir
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
# pwd
/usr/lib64/php/modules

如果依旧不行,可能是对于CentOS,系统上默认的 Apache 设置禁止请求产生网络连接,意味着当连接到数据库,驱动会得到一个 “Permission denied” 错误。当你遇上这个问题,可以试试运行:

# /usr/sbin/setsebool -P httpd_can_network_connect 1

然后重启 Apache。在 SELinux 下也会产生这个问题。

MySQL开启root用户远程登陆

首先注释掉mysql配置文件(my.cnf、mysql.conf等)中的bind-address字段

#bind-address: 127.0.0.1

之后,进入数据库,对root用户赋权

mysql -u root -p
> use mysql;
> grant all privileges on *.* to 'root'@'%' identified by 'PASSWORD' with grant option;
> flush privileges;