在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