[PHP] 개발환경 구축
programming/php

[PHP] 개발환경 구축

1. PHP 개발환경 구축


1.1 PHP 웹서버 구축


1.1.1 PHP-아파치(apache) 설치

 아파치 설치

 # yum -y install httpd httpd-devel


 php 설치

 # yum -y install php php-mysqlnd


 아파치 서비스 시작

 # systemctl start httpd


 아파치 서비스 상태 확인

 # systemctl status httpd


 아파치 서비스 자동 시작

 # systemctl enable httpd


 아파치 환경설정 파일

 # gedit /etc/httpd/conf/httpd.conf

 42번 라인 : 포트번호 설정(기본값 : 80)

 119번 라인 : 홈 디렉토리 설정(기본값 : /var/www/html)


 웹브라우저 주소창에 http://localhost 입력


 크기가 0인 파일 생성

 # touch /var/www/html/info.php

 파일 편집

 # gedit /var/www/html/info.php


 <?php

 phpinfo();    // php 환경 설정 정보 확인

 ?>


 http://localhost/info.php


 ip 주소 확인

 # ifconfig


 방화벽에서 포트 개방

 # firewall-cmd  --add-port=80/tcp  --permanent

 # firewall-cmd  --reload


 방화벽 개방 후 윈도우의 웹브라우저에서 실행

 http://리눅스의IP주소

 http://리눅스의IP주소/info.php


1.2 maria DB 설치


 http://mariadb.org


 mariadb 클라이언트 설치

 # yum -y install mariadb


 mariadb 서버 설치

 # yum -y install mariadb-server


 mariadb 서비스 시작

 # systemctl start mariadb.service


 mariadb 자동시작

 # systemctl enable mariadb.service


 maria db 접속

 # mysql

 > show variables like 'c%';

 한글 처리를 위해서는 latin1으로 설정된 부분을 utf-8 로 변경해야 함


 # gedit /etc/my.cnf

 추가

 10번 라인에 추가 → character_set_server = utf8


 maria db 서비스 재시작

 # systemctl restart mariadb.service

 # mysql

 > show variables like 'c%';

 utf8로 변경된 것 확인


 데이터베이스 추가

 > create database web;


 사용자 계정 추가

 create user '아이디'@'호스트' identified by '비밀번호';

 > create user 'web'@'%' identified by '1234';

 > create user 'web'@'localhost' identified by '1234';

 > flush privileges;


 권한 부여

 grant 권한들 on 데이터베이스.테이블 to '아이디'@'호스트';

 > grant all privileges on web.* to 'web'@'%';

 > grant all privileges on web.* to 'web'@'localhost';


 데이터베이스 목록 확인

 >show databases;


 사용할 데이터베이스 선택

 use 데이터베이스

 > use mysql;


 user 테이블 확인, 비밀번호가 암호화되어 있음.

 > select host, user, password from user;


 테이블 목록 확인

 > show tables;


 외부접속을 위해 방화벽 설정 변경

 # firewall-cmd  --add-port=3306/tcp  --permanent

 # firewall-cmd  --reload

 또는

 # firewall-config


 윈도우의 heidi sql에서


 호스트 : 리눅스의IP주소

 사용자 : web

 비밀번호 : 1234

 포트 : 3306 (기본포트)


 쿼리 탭 선택

 use web;

 create table guestbook (

  idx int not null auto_increment primary key,

name varchar(50) not null,

email varchar(50) not null,

passwd varchar(50) not null,

content text,

post_date datetime

 );


 insert into guestbook (name, email, passwd, content, post_date)

 values ('kim', 'kim@nate.com', '1234', '방명록...', now());


1.3 FTP 서버 구축


 1.3.1 FTP : File Transfer Protocol