DBを設定する
# apt install postgresql # pg_createcluster -u postgres 9.6 testdb1 # createdb -h localhost -p 5433 -U postgres -E UTF8 -O postgres -T template1 test01 # psql -h localhost -p 5433 -U postgres -l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres test01 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | (4 rows) # psql -h localhost -p 5433 -U postgres test01 test01=# create table users (id serial, email varchar(255), password varchar(255)); test01=# create table temp_users ( id serial, email varchar(255), password varchar(255), key varchar(255)); test01=# \d users Table "public.users" Column | Type | Modifiers ----------+------------------------+---------------------------------------------------- id | integer | not null default nextval('users_id_seq'::regclass) email | character varying(255) | password | character varying(255) | test01=# \d temp_users Table "public.temp_users" Column | Type | Modifiers ----------+------------------------+--------------------------------------------------------- id | integer | not null default nextval('temp_users_id_seq'::regclass) email | character varying(255) | password | character varying(255) | key | character varying(255) | test01=# INSERT INTO users (email, password) test01=# VALUCES ('test01', '0e698a8ffc1a0af622c7b4db3cb750cc'); test01=# SELECT * FROM users;
nginxの設定
# vi /etc/nginx/sites-enabled/default server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.1-fpm.sock; } } --- systemctl restart nginx.service
php-fpmの設定
vi /etc/php/7.1/fpm/pool.d/www.conf --- listen = /run/php/php7.1-fpm.sock --- systemctl restart php7.1-fpm.service
codeigniterの設定
cd /var/www/html sudo wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.6.zip unzip 3.1.6.zip mv CodeIgniter-3.1.6 ci vi /var/www/html/ci/application/config/autoload.php --- $autoload['libraries'] = array("database"); $autoload['helper'] = array("form", "url"); --- vi /var/www/html/ci/application/config/database.php --- 'username' => 'postgres', 'database' => 'test01' 'dbdriver' => 'postgre', --- vi /var/www/html/ci/application/config/routes.php --- $route['default_controller'] = 'main'; --- vi /var/www/html/ci/application/views/login.php --- < !DOCTYPE html>Login Page --- vi /var/www/html/ci/application/views/members.php --- < !DOCTYPE html>Login Page
< ?php echo form_open("/index.php?/main/login_validation"); echo validation_errors(); echo "Email : " . form_input("email", $this->input->post("email")) . ""; echo "
Password: " . form_password("password") . "
"; echo "" . form_submit("login_submit", "Login") . "
"; echo form_close(); ?>member Page --- vi /var/www/html/ci/application/controller/Main.php --- < ?php class Main extends CI_Controller { public function index() { $this->login(); } public function login() { $this->load->view('login'); } public function members() { $this->load->view("members"); } public function login_validation(){ $this->load->helper(array('form', 'url')); $this->load->library("form_validation"); $this->form_validation->set_rules('email', 'email', 'required|trim|callback_validate_credentials'); $this->form_validation->set_rules('password', 'password', 'required|trim|md5'); if ($this->form_validation->run() == FALSE){ $this->load->view("login"); } else { redirect("/index.php?/main/members"); } } public function validate_credentials() { $this->load->model("model_users"); if($this->model_users->can_log_in()) { return true; } else { $this->form_validation->set_message("validate_credentials", "invalid"); return false; } } } --- vi /var/www/html/ci/application/models/Model_users.php --- < ?php class Model_users extends CI_Model { public function can_log_in() { $this->db->where("email", $this->input->post("email")); $this->db->where("password", md5($this->input->post("password"))); $query = $this->db->get("users"); if($query->num_rows() == 1) { return true; } else { return false; } } } --- Member Page