'apache2'에 해당되는 글 2건

  1. 2015.03.03 [우분투] APM 설치 by TwoTen
  2. 2015.02.10 우분투 ubuntu CGI에서 한글 깨짐 by TwoTen

출처 : http://blog.fun25.co.kr/ubuntu-14-04-apache-php-mysql-lamp/


아파치 설치

# apt-get update

# apt-get install apache2

 

아파치 시작은

# service apache2 start

 

아파치 종료는

# service apache2 stop

 

아파치 설정을 변경 후 설정을 다시 적용할 때는

# service apache2 reload

 

아파치 디렉토리

/etc/apache2

apache2.conf - 기본 설정 파일

conf-available - 사용가능한 추가 설정 파일들

conf-enabled - 현재 적용된 추가 설정 파일들

envvars - 환경변수 설정

magic - mime 관련

mods-available - 사용가능한 모듈들

mods-enabled - 적용된 모듈들

ports.conf - 포트 설정

sites-available - 사용가능한 사이트 설정들

sites-enabled - 적용된 사이트 설정들

available 이라는 디렉토리들은 보통 사용가능한 설정 파일들을 저장하고 여기서 enabled 라는 디렉토리로 심볼릭 링크를 걸어서 사용하는 경우가 많습니다.


MySQL 설치

# apt-get install mysql-server php5-mysql

설치를 진행하다 보면 root 계정의 암호를 입력하라고 나옵니다. 암호를 입력하고 계속 진행하면 설치가 완료가 됩니다. 여기서 입력한 암호는 꼭 기억을 하고 있어야 설치 후에 mysql 접속이 가능합니다.

lamp2

 

 

# mysql_install_db

# mysql_secure_installation

mysql_secure_installation 을 실행하면 root 암호를 바꿀건지..root 를 리모트에서 접속이 가능하게 할건지 등을 물어봅니다.

 

MySQL 서버 시작

# service mysql start

 

MySQL 서버 종료

# service mysql stop

 

my.cnf

/etc/mysql/my.cnf

 

우분투에서 mysql 서버를 설치하면 기본적으로 외부에서는 접속이 안 되도록 되어 있습니다. 로컬에서만 접속이 가능하도록 되어 있는데요. 외부에서 접속이 가능하도록 할려면 /etc/mysql/my.cnf 파일에서

bind-address 127.0.0.1 

로 되어 있는 부분을

bind-address 0.0.0.0 

으로 변경 후에 mysql 서버를 재시작 하면 됩니다.

 

접속 테스트

# mysql -u root -p

해서 암호를 입력하면 접속이 됩니다. 접속이 안 될 경우는 MySQL 서버가 실행이 되어 있는지 확인해 보시고 root 암호도 정확한지 한번 확인해 보시면 됩니다.


PHP 설치

# apt-get install php5 libapache2-mod-php5 php5-mcrypt

php.ini

/etc/php5/apache2/php.ini 

 

PHP 를 아파치의 모듈로 설치를 했으므로 /etc/apache2/mods-enabled 라는 디렉토리로 가서 ls 명령어로 한번 확인을 해 보면

lamp3

php5.conf 와 php5.load 라는 심볼릭 링크가 만들어져 있고 실제 파일들은 mods-available 에 있는 것을 볼 수 있습니다. 여기서 dir.conf 파일을 vi 등으로 열어서 index.php 가 index 파일에 추가되어 있는지 확인해 보도록 합니다.

<IfModule mod_dir.c>

        DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

</IfModule>

 

테스트

/var/www/html 아래에 phpinfo.php 파일을 만들어서 php 설치를 확인해 봅니다.

<?php

phpinfo();

?>



'여러이야기 > IT' 카테고리의 다른 글

Lubuntu 설치  (0) 2015.05.29
[우분투] 분실한 mysql root 비번 재 설정  (0) 2015.03.03
스마트 펜  (0) 2015.02.27
스마트 칠판(smart marker)  (0) 2015.02.25
[C/C++] GDI 를 이용한 그래픽  (3) 2015.02.24
Posted by TwoTen
l

1.

html 태그에서 euc-kr 인코딩 임에도
<meta http-equiv='Content-Type' content='text/html; charset=euc-kr'> 
이 태그가 빠져있다면

이게 원인일 수 있다.

2.

1. Apache2 install

apt-get install apache2

2. configuration

/etc/apache2 : apache2 folder

/etc/apache2/apache2.conf : apache2 설정 파일


DirectoryIndex index.html index.htm index.shtml index.cgi index.pl index.php index.xhtml   추가



/etc/apache2/ports.conf : 포트 설정 (default : 80)

/etc/apache2/conf.d/charset : 기본 문자 인코딩 설정 (default: UTF-8)   


AddDefaultCharset EUC-KR # UTF-8이 default로 되어 있으며, 그러면 한글이 깨진다. EUC-KR 로 바꾸어줘야 한다. 

------> 이부분은 아래 #3에서 이야기하는 것과 대조적이다.


/etc/apache2/sites-available/default : site 관련 설정
     DocumentRoot /var/www : site home directory
     --> DocumentRoot /var/www/(UserDirectory) : site home directory 변경
     또는   DocumentRoot (UserDirectory)


3.

Apache 웹페이지 한글깨짐, AddDefaultsCharset 설정

/ect/apache2/apache2.conf

파일을 열어 찾기    ->    AddDefaultsCharset 

AddDefaultsCharset xxxxxx     부분을 
AddDefaultsCharset off   로 수정

xxxxxx 부분을 off 로 수정후 (off 는 기본언어를 지정하지않고 맞춰서쓰겠다는 옵션이라네요)


아파치 데몬을 재시작 하시면됩니다.

참고로
AddDefaultsCharset UTF-8 
AddDefaultsCharset EUC-KR 이런 옵션은 존재하지도 않는 옵션이었더군요


재시작은 
/etc/apache2/apache2 -k restart
$ sudo service apache2 restart

위의 재시작 두개의 다른 점은 무엇인가?


==============================================================================
출처 : http://webdir.tistory.com/196


우분투는 일반적인 리눅스 배포판들과 다른 구조를 하고 있다. 데비안 계열의 특징인듯...



/etc/apache2 : 설정파일 루트위치 

설정파일들이 이 디렉토리 밑에 위치하고 있다.


/etc/apache2/apache2.conf : 기본설정 파일 

다른 배포판에서 httpd.conf 를 기본 설정파일로 사용하고 있는데 우분투에서는 apache2.conf 를 사용한다.


/etc/apache2/conf.d : 고급설정 파일

다른 배포판에서 httpd.conf 파일 하나에 설정되어 있던 문자셋과 에러메시지, 보안과 관련된 설정등을 따로 따로 분리하여 conf.d 디렉토리밑에서 설정하고 있다. 또한 사용자가 설치하게 되는 Apache와 관련된 애플리케이션들의 설정파일들도 위치하게 된다.


 /etc/apache2/envvars : apache2ctl 환경설정 파일


/etc/apache2/httpd.conf : 사용자의 특정 설정 파일

역사적으로 httpd.conf 가 기본설정 파일이였는데 지금은 빈파일이다.

사용자가 특정 설정을 부여해서 사용할 수 잇다.


/etc/apache2/magic

파일의 시작값(magic number) 데이터베이스. 이 값에 기반해 전송하는 파일의 MIME Type을 결정한다.

가급적 수정하지 말 것.


/etc/apache2/mods-available

사용가능한 Apache 모듈을 불러오는 곳


/etc/apache2/mods-enabled

위의 /etc/apache2/mods-available 의 모듈중에 사용할 모듈을 심볼릭 링크로 추가하여 실제 동작하게 만든다.


/etc/apache2/ports.conf

Apache 서버의 서비스 포트 설정으로 http 의 기본값 80 과 https 의 기본값 443, 가상호스트의 포트들을 설정할 수 있다.


/etc/apache2/sites-available

서버에서 운영할 사이트의 설정파일


/etc/apache2/sites-enabled

위의 /etc/apache2/sites-available 에서 설정한 파일을 심볼릭 링크로 추가하여 실제 운영에 사용할 설정파일들이다.


1. 기본 사이트 설정 사항 ( /etc/apache2/sites-available/default )

apache2 의 기본설정은 가상호스트 친화적이다.

기본적으로 VirtualHost 지시자에 의해 하나의 가상호스트가 설정되어 있고 하나의 사이트만을 운영할 계획이라면 이 가상호스트 설정이 기본적인 웹사이트가 된다.

/etc/apache2/sites-available/default 파일을 수정하여 사용하면 된다.


ServerAdmin 의 메일주소를 원하는 것으로 수정하고 다른 여러 다른 가상호스트에서 설정하지 않을 경우 대표메일 주소로 이용된다.


ServerName 이 지정되어 있지 않다.

이는 다른 가상호스트의 ServerName 과 매치되지 않는 모든 요청에 대하여 응답하게 된다.

이를 원하지 않는다면 ServerName 에 구입한 도메인을 추가한다.


ServerAlias 도 기본적으로 지정되어 있지 않지만 www 를 호스트명으로 이용하는 경우가 많으니 이를 추가해도 된다.

 

DocumentRoot 값은 /var/www 로 지정되어 잇는데 원한다면 이를 수정하여 사용할 수 있다.


<Directory> 지사자에 Option 항목에 Indexes 가 설정되어 있는데 이를 제거해서 파일리스트들이 출력되지 않게 할 수 있다.

<Directory /home/MyID/www/uzuro.com>

Option -Indexes FollowSymLinks MultiViews


2. 새로운 가상호스트 추가법

우선 default 파일을 복사해 원하는 파일명(사이트명)으로 변경한다.

새로운 사이트의 디렉토리를 생성하고 복사한 파일의 DocumentRoot의 경로를 설정한다.


a2ensite 유틸리티를 사용하여 추가한다.

$ sudo a2ensite mynewsite

$ sudo service apache2 restart


3. DirectoryIndex 설정

/etc/apache2/mods-available/dir.conf 에서 설정할 수 있으면 기본적으로 index.html, index.cgi, index.pl, index.php, index.xhtml, index.htm 이 설정되어 있다. 필요하다면 더 추가하면 된다.

위 파일들이 요청한 디렉토리에 없다면 <Directory> 지시자의 Option 값으로 Indexes가 설정되어 있을 경우 파일이 리스팅된다.


4. ErrorDocument 설정

/etc/apache2/conf.d/localized-error-pages 에서 설정할 수 있다.


5. Log 설정

Apache의 기본 로그 파일은 /var/log/apache2/ 디렉토리에 access.log, error.log, other_vhosts_access.log 로 존재한다. 가상호스트 설정에서 ErrorLog 지시자나 CustomLog를 따로 설정하지 않는다면 위에 언급한 파일들에 로그가 저장되고 만약 가상호스트에서 설정사항을 주석처리하거나 삭제한다면 other_vhosts_access.log 파일에 생성된다.


여러개의 사이트를 운영할 계획이라면 각각의 홈디렉토리에 logs 디렉토리를 생성하여 그곳에 위치하는 방법을 많이 사용한다.


6. Apache 서비스를 재시작할때마다 에러메시지가 함께 나올텐데 기본으로 설정된 사이트의 ServerName이 존재하지 않아서이다. 이는 /etc/apache2/apach2.conf 에 ServerName localhost 와 같이 추가하면 된다. 


7. 새로운 모듈 추가

우분투는 기본적으로 동적으로 모듈을 불러오도록 컴파일되어 있다.

<IfModule> 블럭으로 둘러쌓아 특정한 모듈에 대한 지시를 할 수 있고 /etc/apache2/mods-enabled 에 등록하여 이를 사용할 수 있다.

/etc/apache2/mods-available 디렉토리에 존재하지 않는 모듈들은 apt-get등으로 설치한다.


$ sudo a2enmod ssl

$ sudo service apache2 restart


사용하지 않을 모듈은

$ sudo a2dismod ssl 과 같이 사용하고 apache 서비스 재시작


8. 리눅스 계정의 사용자들이 각각 홈디렉토리에서 웹사이트를 운영할때 설정

 - /home/UserID/public_html 의 구조를 생성한다.

$ mkdir public_html (이때 폴더 소유자는 그계정의 사용자ID임에 유의)


- 유저디렉토리 모듈 활성화

$ sudo a2enmod userdir.conf

$ sudo a2enmod userdir.load

$ sudo service apache2 restart

( 사용자들이 http://서버도메인(IP)/~UserID 로 접근이 가능하게 된다 )


- $ sudo vi /etc/apache2/mods-available/userdir.conf 의 설정내용을 알맞게 변경


- php의 모듈 사용자 디렉토리에 활성화

php 모듈의 기본 설정이 기본적으로 /home/*/public_html 상에서는 사용불가로 되어 있다.

$ sudo vi /etc/apache2/mod-available/php5.conf

<IfModule mod_userdir.c> 부분부터 끝나는 블록까지 주석처리한다.


'여러이야기 > IT' 카테고리의 다른 글

[Ubuntu] Upgrade  (0) 2015.02.13
[우분투] Root Password 만들기  (0) 2015.02.11
리눅스 기본 명령어  (0) 2015.02.10
우분투 Ubuntu 명령어 파일 디렉토리 찾기 Find  (0) 2015.02.08
우분투 gcc 설치하기  (0) 2015.02.08
Posted by TwoTen
l