Posts tagged ‘Apache’

Apache vs Nginx

아주 간단하게 그래프로 평가..

apache vs nginx

 

왼쪽이 apache 오른쪽이 nginx

apache가 시스템 성능을 다 쓰면서도 전송량이 들쑥날쑥한 현상이 발생.. 동시 접속이 많을 때 제대로 처리를 못하는 것을 발견.. 튜닝이다 뭐다 이것저것 할 시간이 없기도 하고 시간이 아깝기도해서 그냥 아예 Nginx로 갈아탐..

결과는 완전 만족!! 중단 없는 네트워크 그래프를 보면 상태가 어떠했는지 알 수 있을듯 🙂

Nginx(엔진X 라고 읽음) 만세~

Opensolaris 오픈솔라리스 설치

Unix 계 OS 의 3인방하면 HP-UX, AIX 그리고 Solaris 이렇게 생각이 되는데 HP-UX야 이름에서 알 수 있듯 HP머신 아니면 돌질 않고–;; AIX는 IBM에서만 돌고 결국 지금 범용으로 쓸 수 있는건 Solaris 말고는 없다라고 결론 🙂

OS 전체를 밀고 다시 까는건 지금 상황에서는 할 수 없으니 가상머신의 도움을 받아서 설치를 시작

1. OS 이미지 다운로드
http://www.opensolaris.com
http://www.opensolaris.org

현재의 최신 버전은 2008년 11월 버전인 08.11
해당 ISO파일을 굽고 부팅하면 사실 설치 하지 않아도 맛은 볼 수 있는 상태가 됨 🙂
물론 LiveCD방식이기에 이것저것 하고 놀기에는 느리긴 하지만.. 그냥 재미삼아.. 그리고 설치를 위해서는 어쩔 수 없이 🙂 일단은 LiveCD로 부팅을 함

2. 설치
우분투를 설치해본 경험이 있다라면 아주 쉽게 적응 할 수 있을 듯..
설치 패키지 부터 한글도 지원을 하니 큰 문제 없이 설치가 완료될 것이라 생각~

3. 첫만남


우분투를 그대로 배껴놓은 듯한 메뉴를 가진 파란 바탕화면을 볼 수 있음 🙂
Firefox도 있고 하니 인터넷이 된다면 그 때부터는 인터넷으로 모든 패키지나 소프트웨어등을 받을 수도 있고 놀 수도 있다 ㅎ



4. 뭔가는 해봐야지–;;

Unix/Linux 계열의 얼굴마담 소프트웨어인 Apache+MySql+PHP를 설치해보기로 결정

# su (관리자 패스워드 입력)
# pkg install amp

기다리면 끝;;

아 쉽다 -ㅅ-;;

데비안 만든 사람이 Sun으로 옮겨 간 후에 참가해서 그런지 데비안 기반의 리눅스가 가지고 있는 설치의 편리함이 솔라리스에도 녹아들어가있음 🙂

5. 모듈들 실행
/usr/apache2/2.2/bin/apachectl start
/usr/mysql/5.0/bin/mysql_install_db –user=mysql
/usr/mysql/5.0/bin/mysqld_safe &

그리고 나서 Firefox 열고 http://localhost 하면

아마도 It works! 화면이 반겨줄듯~ 🙂
mysql 은 경로 찾아 들어가서 접속하면 바로 될듯 하고
php는 phpinfo() 해보니 잘 출력되더라는~ 이렇게까지만 되어도 일단은 만족~ ㅎ

이제 솔라리스로 서버도 깔 수 있게 되었으니 mysql 기본 사용법은 검색하면 아주 많이 나오니 그거 따라하면 되고 백업도 되고 아파치도 돌고 하니 프로덕션으로 써도 큰 문제는 없는 환경까지는 만들었음 🙂

물론-_-;; 이렇게 환경 만들면 난리나지만서도;;;;;
리눅스 말고 솔라리스! 에서 돌아가잖아~ 🙂

ps. 사실 솔라리스 사용자들이 극찬을 마지않는 ZFS 파일 시스템이 써보고 싶어서 솔라리스에 관심이 있었는데 이제서야 내 실력으로 설치 정도는 할 수 있는 패키지가 나오기 시작하는듯.. 기존에는 깔기만 했지 이거 뭐 제대로 돌려본 적이 없었으니 ㅠㅠ

apache 아파치 설정파일 httpd.conf 를 이용한 기본 보안

일단 아파치 설정 관련해서 몇개 적긴 했었는데..

2008/05/13 – [-ㅂ-] – Windows 에서 Apache+MySQL+PHP와 함께 WordPress를 사용할 때의 설정
2008/04/18 – [-ㅂ-] – Apache(아파치) 2.2 를 윈도에 설치 했을때 403 Forbidden 에러가 난다면

이런것들;;

위에선 적어놓지 않았던 내용중 하나를 추가

리눅스에서 설정을 하려면 방화벽 기본으로도 좋은 녀석 있으니 그걸 이용해서 설정하면 된다지만
그래도.. 그래도.. 처음부터 안전하게 해놓는 것이 역시 좋기에 🙂

현재 내가 사용하고 있는 설정 파일의 일부
——————————————————–
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
————————————————-

두꺼운 글씨 처리 되어있는 부분이 매우 간단하기에 편리하게 설정할 수 있는 부분..
MAC address로 처리하는 것이 물론 매우 좋긴 하지만 MAC의 경우 개인이 맘대로 변경 할 수도 있는 가능성도 있고 내부에서만 보여야 되는 설정일 경우 IP주소로 필터링을 한번 해주는 것이 일단 먼저이기 때문에 🙂

1. Order Deny,Allow
위처럼 Order Deny, Allow 를 하게되면 Deny 부터 하고 나중에 Allow를 한다는 이야기
반대로 쓸 수도 있음 Order Allow, Deny 로 하게되면 Allow먼저 처리하고 나중에 Deny를 처리함

2. Deny from all
위의 설정은 일단 모든 트래픽을 막음

3. Allow from 127.0.0.1
1번의 order deny, allow 의 조건에 따라서 이미 막혀있는 상태에서 127.0.0.1 만 접속을 허용하도록 설정함
127.0.0.1 은 localhost 이기에 자신의 컴퓨터를 제외한 다른 곳에서는 결국 접속이 불가능 한 상태로 설정됨

생각보다 매우 간단 🙂

이어지는 응용편
——————————————————–
1. 특정 IP만 막고 싶을때
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
Deny from 111.222.333.444
</Directory>

2. 1번 막았는데 한 녀석 더 막고 싶을때
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
Deny from xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
</Directory>

3. C클래스를 막고 싶을때
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
Deny from 111.222.333
</Directory>

4. 사무실 내부 C클래스만 열고 싶을때
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order Deny, Allow
Allow from 192.168.1
Deny from all
</Directory>

위에서도 적은 것 처럼 allow 와 deny의 순서가 바뀌어 있어도 order에 명시된 순서로만 명령어가 먹음!

끗끗

Windows 에서 Apache+MySQL+PHP와 함께 WordPress를 사용할 때의 설정

windows기반에서 apache mysql php의 연동은 정말 넘치고 넘쳐있으니;; 죄송하지만 검색 한번 해보시면 나올듯 하고

글을 적는 이유인 windows 기반에서 wordpress를 연습 or 서비스 (설마;;) 할 때의 도움이 되는 설정 내용

 

apache+mysql+php 설치후 설정할 것들..

 

httpd.conf에 추가될 내용

1. LoadModule rewrite_module modules/mod_rewrite.so 에 있는 주석 제거

2. php 설정 – 이건 아마도 이미 apache와 php의 연동에서 처리가 되었을 부분
LoadModule php5_module “D:/PDS/php-5.2.5-Win32/php5apache2_2.dll”
AddType application/x-httpd-php .php
PHPIniDir “D:/PDS/php-5.2.5-Win32/”

3. 경로와 권한설정
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All

Order allow,deny
Allow from all
</Directory>

예전에 적어놓았던 403에 대한 에러 역시 수정됨.. 중요한것은 mod_rewrite.so 이 부분과 AllowOverride 설정을 All 로 변경해주는 것..

 

위의 내용까지 처리가 되었다라면 permanent link부분까지 처리가 다 될듯
이거 제대로 처리 안되면 http://localhost/?p=번호 이런 식으로만 처리가 되고 (물론 보고 즐기는데는 상관없지만 이왕하는거 ㅋ) 나름 fancy한 링크인 permalinks가 먹질 않고 404 에러를 토해낼테니–;; 그게 보기 싫으면 위의 설정을 해주면 깔끔~

MySQL for Windows error 1067 이 생길때

쓰고있는 laptop에서 apache+php+mysql 이렇게 세가지를 다 돌리려다 보니 각종 에로사항이 마블링-ㅂ-처럼 피어올라 정리-_-;

먼저 조건이라면
1. 아래에 해당 하는 경우는 압축을 풀어 설치하는 설치본에 해당하는 경우임
2. 버전은 MySQL 5.0.51b win32 를 기준으로 함
3. Windows XP with Service Pack 3 이 기본 OS임 (별 상관은 없는-_-)

Administrative tool에 있는 Service항목에서 mysql 서비스가 실행이 안되어있는 것을 확인해서 시작을 시키려고 하니 에러가 발생

Could not start the MySQL service on Local Computer.

Error 1067: The program terminated unexpectedly.

흠.. 도와줘요 구글~

forums.mysql.com 에 링크가 걸림.. 영어 압박 -ㅅ-;;

일단 문제는 경로설정 (linux에서는 이런거 없었던거 같은데 ㅠㅠ 컴파일이 귀찮긴했어도-_-)

윈도설치경로가 C:\라면
c:\windows\my.ini 가 있다면 수정 없다면 생성을 먼저 한 후 아래의 내용을 추가해준다

[mysqld] 
basedir=D:/MySQL
datadir=D:/MySQL/data

여기서 경로는 자신이 압축을 푼 그 위치를 의미함 내 경우에는 D:\에 mysql이라는 디렉토리에 압축을 풀었기에 저런 설정을 추가해줬음..

그 뒤에 다시 Service가서 시작 해주면 아주 깔끔하게 🙂 시작이 되는 것을 확인 할 수 있습니다~

Apache(아파치) 2.2 를 윈도에 설치 했을때 403 Forbidden 에러가 난다면

보통의 경우 (물론 다른 훌륭한 http daemon들도 많지만) 리눅스에서 많이 쓰는 Apache 웹서버의 경우
윈도에서 제공되는 지금까지 GUI로 제공되어오던 IIS의 설정을 변경하는것 보다는 많은 노력이 들어가며

그중에서 가장 대표적인 예가 바로 접근 권한이 없다라고 나오는 403 Forbidden 에러메시지..
리눅스의 경우 디렉토리의 권한을 Apache 또는 모든유저가 읽을 수 있도록 변경하면
해결되는 경우가 보통이지만 윈도에서 (특히 XP계열의 end-user OS) 폴더 권한 설정하기에는
이런저런 압박들이 따라오는 경우가 많다 무슨 네트워크 보안 설정이니 웹에 게시를 할 것이냐부터
하다보면 ‘이거 뭐야 무서워 ㅠㅠ’ 하며 포기를 하게 되는 경우가 많은데
이러한 윈도계열에서 403에러를 한방에 날려줄 설정이 바로 이것!!




<Directory “경로(ex- d:/웹소스”>
AllowOverride None
Order allow,deny
Allow from all
</Directory>




위의 옵션을 아파치의 httpd.conf 파일에 추가를 해준 후 apache를 재기동시키면
많은 403 forbidden 에러메시지를 더이상 보지 않을 수 있다 🙂
IIS깔기 귀찮아서 Apache를 깔고나서 간만에 설정하다가 403에러를 만나서 기억을 더듬고 더듬은 끝에

구글이 알려줬다-_-;

고마워요 구글 -ㅅ-;;