블로그 개발과 유지보수를 효율적으로 하기 위해 framework을 설치합니다.
본 프로젝트에는 PHP를 위한 Codeigniter 를 사용하며, 버전은 개발이 완료된 3.x 최신 릴리즈 버전입니다.
CodeIgniter 3.x 설치
STEP 1) 공식 사이트 다운로드 페이지 또는 한글매뉴얼 다운로드 페이지에 접속하여 설치 파일을 다운로드 합니다.
(!) 본 프로젝트는 코드이그나이터 한글매뉴얼 다운로드 페이지 버전을 사용했습니다.

STEP 2) 다운로드 받은 파일을 압축해제 하여 서버에 업로드 합니다.
[ 프로젝트가 1개일 경우 ]
-
D:/Servers/Apache24/htdocs 폴더에 아래와 같이 복사
-
index.php가 루트에 위치하도록 확인

[ 프로젝트가 여러개인 경우 ]
-
루트 폴더 내에 프로젝트별 폴더를 생성하여 복사
-
ex) D:/Servers/Apache24/htdocs/(프로젝트명) 폴더에 아래와 같이 복사

-
D:/Servers/Apache24/conf/httpd.conf 파일 텍스트 편집기로 열기
-
기본 서버 루트 폴더 수정(프로젝트별 폴더가 해당 프로젝트의 루트 폴더로 인식되도록 설정)

-
virtual hosts 항목 주석 해제

-
D:/Servers/Apache24/conf/extra/httpd-vhosts.conf 파일 텍스트 편집기로 열기
-
프로젝트 호스트 정보 추가
|
1
2
3
4
5
6
7
8
9
10
|
<VirtualHost *:80>
ServerName myblog.kr
ServerAlias www.myblog.kr
DocumentRoot "${SRVROOT}/htdocs/myblog"
<Directory "${SRVROOT}/htdocs/myblog">
Require all granted
AllowOverride all
Options FollowSymLinks
</Directory>
</VirtualHost>
|
cs |
STEP 3) 환경설정을 마쳤으면 서버에 접속하여 코드이그나이터 동작 여부를 확인합니다.
-
웹 브라우저 주소창에 'localhost' 입력
-
welcome message 화면이 출력되면 codeigniter 3 정상 동작 확인

index.php 안보이게 하기
주소창에 표시되는 url을 깔끔하게 보이도록 하기 위해 기본으로 표시되는 index.php를 보이지 않도록 합니다.
STEP 1) apache 설정 파일 내용을 수정합니다.
-
D:/Servers/Apache24/conf/httpd.conf -> 텍스트 편집기로 파일 열기
-
rewrite_module Load 관련 내용 주석 해제

- 아래 부분을 검색하여 ' Allowoverride all'로 변경

[ vhost를 사용하지 않는 경우 ]
-
index.php 파일과 같은 위치에 .htaccess 파일 생성 또는 수정
|
1
2
3
4
5
6
7
|
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond $1 !^(index\.php|/images|/img|/js|/css|/font|/robots\.txt|/favicon\.ico|/uploads|/data|/csv)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
|
cs |
[ vhost를 사용하는 경우 ]
-
D:/Servers/Apache24/conf/extra/httpd-vhost.conf -> 텍스트 편집기로 파일 열기
-
아래와 같이 해당 호스트 내용에 rewrite_module 설정 내용 추가
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<VirtualHost *:80>
ServerName myblog.kr
ServerAlias www.myblog.kr
DocumentRoot "${SRVROOT}/htdocs/myblog"
<Directory "${SRVROOT}/htdocs/myblog">
Require all granted
AllowOverride all
Options FollowSymLinks
</Directory>
<IfModule rewrite_module>
RewriteEngine On
RewriteCond $1 !^(index\.php|/images|/img|/js|/css|/font|/robots\.txt|/favicon\.ico|/uploads|/data|/csv)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
</VirtualHost>
|
cs |
STEP 2) codeigniter 3 설정 파일을 수정합니다.
-
~/htdocs/myblog/application/config/config.php 파일 열기
-
index_page 요소값을 빈문자열로 변경

STEP 3) 설정 파일 수정을 마쳤으면 apache 서버를 재시작합니다.
-
서버 재시작 후 'localhost'에 접속하였을 때 아래와 같이 주소 뒤에 index.php가 보이지 않으면 설정이 정상적으로 적용된 상태입니다.

관련 포스트 목록
- [Server] 01. 개요 및 웹 서버 설치
- [Server] 02. PHP 7 설치 및 웹 서버 연동
- [DataBase] 03. DB Server(MySQL 8.x) 설치
- [Framework] 04. CodeIgniter 3.x 설치 및 index.php 안보이게 하기
- [Stylesheet] 05. Bootstrap 5 설치
- [Stylesheet] 06. Bootstrap 5 example template 적용하기
- [Library] 07. 온라인 html 편집툴(CKEditor 4) 설치 및 초기화
- [Library] 08. 파일 관리툴 CKFinder 설치 및 초기화
- [DataBase] 09. 블로그 DB 생성 및 HeidiSQL 설치
- [Posting] 10. DB 연결 및 뷰 파일 분할
- [Posting] 11. 포스트 저장 기능 구현
- [Posting] 12. 포스트 목록 뷰 생성 및 pagination 기능 구현
- [Posting] 13. 포스트 편집 기능 구현
