포스트 보기

포스트 썸네일 [Framework] 04. CodeIgniter 3.x 설치 및 index.php 안보이게 하기

NO  : 4 작성자 : cheolee
주제  : 공부 > 블로그개발 조회수 : 39 등록일 : 2021-07-19

블로그 개발과 유지보수를 효율적으로 하기 위해 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가 보이지 않으면 설정이 정상적으로 적용된 상태입니다.


 

댓글 0 댓글 보기

관련 포스트 목록