在CentOS上使用Apache和PostgreSQL来运行CodeIgniter

在本地的MAMP环境中,我觉得不用费太多力气就能搭建好环境,但是当我尝试在CentOS上运行我创建的Web应用程序时,遇到了麻烦,所以写下了这条备忘录。我没有注意到停止SELinux或禁用PostgreSQL的IPv6,花了相当长的时间…。

环境

操作系统:CentOS 6.7
PostgreSQL:9.4
CodeIgniter:3

建造程序

1. 安装 Apache(+ 自动启动设置)。

$ yum install httpd
$ chkconfig httpd on

安装PHP

$ sudo yum install  php-cli php-fpm php-devel php-gd php-mbstring php-pdo php-pear php-xml php-imap php-pecl php-mcrypt php-common php-pgsql

3 PHP验证

echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

请访问 http://IP/phpinfo.php 确认是否显示 PHP 的详细信息。

停用 SELinux
编辑 /etc/sysconfig/selinux

SELINUX=disabled

禁用进行更改

在中文中,有以下一种可能的表达方式:
安装 PostgreSQL 5
由于标准仓库中的 PostgreSQL 版本较旧,
在引用标准仓库时,应将 PostgreSQL 设置为不被引用。

打开/etc/yum.repos.d/CentOS-Base.repo。

[base]
exclude=postgresql*  ←追加

[updates]
exclude=postgresql*  ←追加

添加公式的 yum 库

$ yum -y localinstall http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
$ yum -y install postgresql94-server

6 PostgreSQL的初始化

$ service postgresql-9.4 initdb

7 PostgreSQL的自动启动设置

$ chkconfig postgresql-9.4 on

启动PostgreSQL 8。

$ service postgresql-9.4 start

以9个Postgre用户登录

$su postgres
$psql -d postgres

追加一个开发用的角色(拥有者)(例如,拥有者名称:test)。

    OSのログインユーザと同じユーザ名でロールを追加する
postgres=# CREATE ROLE test WITH SUPERUSER CREATEROLE CREATEDB LOGIN;

指定开发用所有者以创建数据库。

create database ’DB名’ owner test;

12 一旦从postgres用户注销

登录到数据库13.

psql -d ’DB名’

登录数据库后,根据创建的Web应用程序进行相应的表格创建和列添加。

15 修改CodeIgniter的database.conf文件。

    • ユーザ名、パスワード名、データベース名を任意の値に修正

 

    dbdriverをpostgreに変更
$db['default'] = array(
    'dsn'   => '',
    'hostname' => '127.0.01',
    'username' => 'ユーザ名',    ←ここ
    'password' => 'パスワード',   ←ここ
    'database' => 'データベース名', ←ここ
    'dbdriver' => 'postgre',    ←ここ
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

禁用16 PostgreSQL的IPv6
编辑postgresql.conf

listen_addresses = 'localhost' 

请将以下内容用中文进行翻译: ↓

Can you provide some examples?

listen_addresses = '0.0.0.0'

17 重新启动PostgreSQL


广告
将在 10 秒后关闭
bannerAds