예전에 Debian+Apache+PHP+CodeIgniter+MySQL 를 올린 적이 있다. 이번엔 CentOS에서 설치하는 법도 한 번 알아보도록 하자. DBMS 도 MySQL 이 아닌 PostgreSQL을 설치한다.

아래의 설치방법은 CentOS 5.6 과 Scientific Linux 5.5 에서 적용 가능하다.

기본 프로그램 설치
# yum groupinstall "Development Tools"
# yum install git htop ntp
Apache + mod_php 설치
# yum install php
PostgreSQL 8.4.7 설치
  • 설치
    # yum install postgresql84 postgresql84-devel postgresql84-libs postgresql84-contrib postgresql84-server
    
  • DB 초기화
    # service postgresql initdb
    
    /var/lib/pgsql/data 에 초기화된 파일들이 생성된다.
  • 설정파일 위치 : /var/lib/pgsql/data
  • 시스템 부팅시 자동으로 실행되게 하려면, ntsysv 에서 postgresql 을 체크해주어야 한다.
사용자, DB 생성
  • 사용자, DB 생성
    # su - postgres
    # psql
    
    postgres=# CREATE USER 아이디 WITH PASSWORD '비밀번호';
    postgres=# CREATE DATABASE 디비이름 WITH ENCODING='utf-8' OWNER 아이디;
    
  • 계정으로 로그인할 수 있도록 연결설정
    # su -
    # cd /var/lib/pgsql/data/
    # vi pg_hba.conf
    모두 주석으로 막고 아래만 남김
    host    all         all         0.0.0.0           0.0.0.0           password
    local   all         postgres                                        trust
    local   all         all                                             password
    
    # vi postgresql.conf
    listen_addresses = '*'
    
    # /etc/init.d/postgresql restart
    # psql -d 디비이름 -U 아이디 -W
    
프로젝트 생성
$ mkdir -p /opt/project/프로젝트명/web
$ cd /opt/project/프로젝트명/web
Apache 설정
# cd /etc/httpd/conf
# vi httpd.conf
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName 자신의도메인URL
    DocumentRoot /opt/project/프로젝트명/web
    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>

# /etc/init.d/httpd restart
CodeIgniter 설치
  1. http://codeigniter.com/download.php 에서 CodeIgniter_2.0.2.zip 다운로드한다.
  2. 압축을 풀고 /opt/project/프로젝트명/web 에 업로드 한다.
  3. /opt/project/프로젝트명/web 에.htaccess를 작성한다.
    RewriteEngine on
    RewriteCond $1 !^(index\.php|images|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]
    
  4. system/application/config/config.php 파일을 열어 기반url(base URL)을 세팅한다.
    $config['base_url'] = "자신의도메인URL";
    
  5. 데이터베이스를 사용한다면 application/config/database.php 파일을 열어서 데이터베이스 정보를 세팅한다.
    $db['default']['hostname'] = "localhost";
    $db['default']['username'] = "아이디";
    $db['default']['password'] = "비밀번호";
    $db['default']['database'] = "디비이름";
    $db['default']['dbdriver'] = "postgre";
    
  6. 마지막으로 보안을 위해서 system 디렉토리를 sys로 변경하고, index.php 의 $system_folder 변수를 변경해준다.
    $system_path = "sys";
    
    sys 대신 자신이 원하는 다른 것으로 변경하길 바란다.
  7. 웹브라우저에서 자신의도메인URL 로 접속해본다.

오랜만에 Django 를 살펴보고 있는데, 예전에는 설치할때, mod_python 이 권장이었는데, 지금은 mod_wsgi 로 설치하는 것을 권장하고 있다. 이에 WSGI 연동 설치하는 방법을 다시 한번 정리하였다. 급하게 정리한 것이라서 뭔가 부족한 것이 있을 수도 있지만, 일단 페이지가 열리는 것을 확인했으니, 테스트/개발 시에는 참고하면 괜찮을 것이다. ^^ 참고로, Debian/Ubuntu Linux 를 기반으로 작성하였으니 주의 바란다.

  1. Django 설치, Apache + mod_wsgi 설치
    # apt-get install python-django libapache2-mod-wsgi
    
  2. 프로젝트 생성
    $ mkdir -p /opt/project/web
    $ cd /opt/project/web
    $ django-admin startproject 프로젝트이름
    
  3. 템플릿 디렉토리 설정
    $ cd 프로젝트이름
    $ mkdir templates
    
    settings.py :
    import os
    
    ...
    
    TEMPLATE_DIRS = (
        os.path.join(os.path.dirname(__file__), 'templates'),
    )
    
  4. 어플리케이션 생성
    $ cd /opt/project/web/프로젝트이름
    $ python manage.py startapp 어플리케이션이름
    
  5. URL 설정 (urls.py)
    from 프로젝트이름.어플리케이션이름.views import *
    urlpatterns = patterns('',
        (r'^$', index),
    )
    
  6. View 작성
    $ cd /opt/project/web/프로젝트이름/어플리케이션이름
    $ vi views.py
    from django.shortcuts import render_to_response
    from django.template import RequestContext
    
    def index(request):
        return render_to_response(
            'index.html',
        )
    
  7. 템플릿 작성
    $ cd /opt/project/web/프로젝트이름/templates
    $ vi index.html
    <html>
    <head><title>The First Page</title></head>
    <body><h1>The First Page : Success ^^</h1></body>
    </html>
    
  8. django.wsgi 설정
    # cd /opt/project/web/프로젝트이름
    # vi django.wsgi
    import os
    import sys
    sys.path.append('/opt/project/web')
    os.environ['DJANGO_SETTINGS_MODULE'] = '프로젝트이름.settings'
    
    import django.core.handlers.wsgi
    application = django.core.handlers.wsgi.WSGIHandler()
    
  9. Apache 설정
    # cd /etc/apache2/sites-available
    # vi 프로젝트이름
    NameVirtualHost 아이피:80
    
    <Virtualhost 아이피:80>
        ServerName 도메인주소
        DocumentRoot /opt/project/web
    
        WSGIScriptAlias / /opt/project/web/프로젝트이름/django.wsgi
    
        <Location "/css">
            SetHandler None
        </Location>
    </Virtualhost>
    
    # a2ensite 프로젝트이름
    
  10. 이제, 아파치를 재시작하고 웹브라우즈에서 http://도메인주소/를 입력해보자.

Windows 에 Apache+MySQL+PHP 를 한번에 설치해주는 여러 프로그램이 있지만, 여기에서는 각각 직접 다운로드 받아서 설치하는 것을 보도록 하겠다. 그리 어렵지 않으며, 기본을 알고 이용하는 것이 더 이해에 더 도움이 되기 때문이다.

설치순서
  1. MySQL
  2. Apache
  3. PHP
MySQL
  1. http://www.mysql.com/downloads/mysql/에서 추천하는 현재 버전의 MySQL Community Server 를 다운로드 받는다.
  2. 다운로드 받은 파일은 대략 mysql-essential-5.1.50-win32.msi 과 비슷한 이름일 것이다.
  3. 이 파일을 실행하고, Typical 을 선택하여 설치를 진행한다.
  4. 설치 완료후, Configure the MySQL Server now 에 체크를 하고 종료하면, 설정을 진행할 것이다.
  5. Configuration Type 에서는 Detailed Configuration 을 선택한다.
  6. Server Type 에서는 Developer Machine 을 선택한다. (Windows 에서는 보통 개발용으로 설치하므로)
  7. Database Usage 에서는 Multifunctional Database 를 선택한다.
  8. The approximate number of concurrent connections to the server 에서는 Online Transaction Processing (OLTP)를 선택한다.
  9. Enable TCP/IP Networking 에 체크한다.
  10. Port Number 는 3306 으로 그대로 둔다.
  11. Enable Strict Mode 에 체크한다.
  12. Default Character Set 에서 Best Support for Multiingualism (UTF-8) 을 선택한다.
  13. Install As Windows Service 를 체크한다.
  14. Include Bin Directory in Windows PATH 를 체크한다.
  15. root 비밀번호를 자신이 원하는 것으로 설정한다.
  16. 설치가 완료되었으면, 커맨드창을 띄워서, mysql -u root -p 를 입력하고, 비밀번호를 입력하여 정상 로그인되면 끝난 것이다.
Apache
  1. http://httpd.apache.org/download.cgi 에서 최신버전의 Apache 를 다운로드 받는다.
  2. 다운로드 받은 파일은 아마도 httpd-2.2.16-win32-x86-openssl-0.9.8o.msi 이런 이름과 비슷할 것이다.
  3. Network domain : localhost, Server Name : localhost, Administrator's E-mail Address : test@localhost 로 입력한다.
  4. Setup Type 은 Typical 을 선택한다.
  5. 설치가 완료되었으면, 웹브라우저에서 http://localhost/ 를 입력해서 It works! 메시지가 나오면 정상 동작하는 것이다.
PHP
  1. http://windows.php.net/download/에서 최신버전의 PHP를 다운로드 받는다. 한가지 주의할 것은 VC6 x86 Thread Safe 를 다운로드 해야 한다는 것이다. 이 것 말고, VC9 로 컴파일 된 것이 있는데 이는 IIS연동을 위한 것이다. Apache 와 연동하기 위해서는 VC6으로 컴파일 한 것을 사용해야 한다.
  2. 다운로드 받은 파일은 대략 php-5.3.3-Win32-VC6-x86.msi 과 비슷한 이름일 것이다.
  3. Select the Web Server you wish to setup 에서 Apache 2.2.x Module 을 선택한다.
  4. Apache Configuration Directory 에서는 Apache가 설치된 디렉토리의 conf 디렉토리를 선택한다. 디폴트 디렉토리로 설치했다면, C:\Program Files\Apache Software Foundation\Apache2.2\conf\ 가 될 것이다.
  5. Choose Items to Install 에서는 아래 것들을 추가 선택한다.
    • Register *.php files to open automatically with PHP
    • Internationalization
    • Multi-Byte String
    • XSL
    • PEAR Install
    • PHP Manual
  6. 설치가 완료된 후에, C:\Program Files\Apache Software Foundation\Apache2.2\htdocs 에 phpinfo.php 를 만들어서 아래와 같이 내용을 입력한다.
    <?php
    phpinfo();
    ?>
    
  7. 마지막으로 웹브라우저에서 http://localhost/phpinfo.php 를 입력하여 PHP 설치정보가 나오면 완료된 것이다.

PHP 에도 다양한 프레임워크가 존재한다. 그중 유명한 것이 Zend Framework, CakePHP, CodeIgniter 등이다. 이 중에서도 성능이 가장 괜찮고 점점 인기를 더해가고 있는 CodeIgniter 설치방법을 정리해보았다.

아래의 설치방법은 Debian 5.0, 6.0 에서 모두 적용 가능하다.

기본 프로그램 설치
# apt-get install build-essential ssh vim htop ntp
Apache + mod_php 설치
# apt-get install libapache2-mod-php5 php5-mysql

함께 설치되는 패키지들 :
apache2-mpm-prefork php5-common php5-suhosin
→ Apache 가 함께 설치됨

MySQL 5.1 설치
# apt-get install mysql-client-5.1 mysql-server-5.1 libmysqlclient-dev
설치시 root 의 비밀번호를 물어보는데 자신이 원하는 적당한 것으로 지정한다.
사용자, DB 생성
# mysql -u root -p
mysql> CREATE DATABASE 디비이름 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL PRIVILEGES ON 디비이름.* TO '아이디'@'localhost' IDENTIFIED BY '비밀번호' WITH GRANT OPTION;
mysql> FLUSH privileges;
프로젝트 생성
$ mkdir -p /opt/project/프로젝트명/web
$ cd /opt/project/프로젝트명/web
Apache 설정
# cd /etc/apache2/sites-available
# vi 프로젝트명
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName 자신의도메인URL
    DocumentRoot /opt/project/프로젝트명/web
</VirtualHost>

# a2enmod rewrite
# a2ensite 프로젝트명
# /etc/init.d/apache restart
CodeIgniter 설치
  1. http://codeigniter.com/download.php 에서 CodeIgniter_1.7.2.zip 다운로드한다.
  2. 압축을 풀고 /opt/project/프로젝트명/web 에 업로드 한다.
  3. /opt/project/프로젝트명/web 에.htaccess를 작성한다.
    RewriteEngine on
    RewriteCond $1 !^(index\.php|images|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]
    
  4. system/application/config/config.php 파일을 열어 기반url(base URL)을 세팅한다.
    $config['base_url'] = "자신의도메인URL";
    
  5. 데이터베이스를 사용한다면 application/config/database.php 파일을 열어서 데이터베이스 정보를 세팅한다.
    $db['default']['hostname'] = "localhost";
    $db['default']['username'] = "아이디";
    $db['default']['password'] = "비밀번호";
    $db['default']['database'] = "디비이름";
    $db['default']['dbdriver'] = "mysql";
    
  6. 마지막으로 보안을 위해서 system 디렉토리를 sys로 변경하고, index.php 의 $system_folder 변수를 변경해준다.
    $system_folder = "sys";
    
    sys 대신 자신이 원하는 다른 것으로 변경하길 바란다.
  7. 웹브라우저에서 자신의도메인URL 로 접속해본다.

+ Recent posts