'cronlog'에 해당되는 글 2건

  1. 2011.12.09 가상서버 호스팅 신청부터 세팅까지
  2. 2011.06.27 아파치 로그 관리, cronolog
집에서 베어본 한 대 가져다놓고 다용도 서버로 돌리고 있는데 베어본이라 출력이 약한 파워서플라이가 장착되어 있어 채 2년을 못버티고 죽어버렸다. 파워 빵빵한 놈으로 달아주니 쌩쌩돌기는 한데 왠지 하드가 뻑날것 같은 불길한 예감에 호스팅 서비스를 이용해 보기로 했다.

여기저기 알아보다 카페24의 가상서버 호스팅으로 결정!
http://www.cafe24.com/?controller=product_server_virtual&method=linux
 달만 이용해보고 괜찮으면 계속 써야지..라고 생각했으니 1년 신청시 10%할인이라 결국 1년치 결제했다.

OS는 당연히 우분투! (안정적인 centOS를 추천한다고 적혀있어 맘상했음) 
결제하고 30분 지나니 서버 세팅 완료되었다는 문자가 도착했다.
아...언제 세팅하지..라는 걱정부터 든다.
담에 서버 날라갔을 경우를 대비해 세팅절차를 기록해 놓고자 한다. 

==================================================================================
root계정이 발급 될텐데, 일단 사용할 계정을 하나 만들고 관리자 권한을 준다
$adduser myaccount
$sudo usermod -a -G admin myaccount
$sudo usermod -a -G lpadmin myaccount
$sudo usermod -a -G adm myaccount 
$vi /etc/sudoers
myaccount ALL=(ALL) ALL

이제 myaccount로 세팅 작업을 진행한다.

1. JDK(sun-java-jdk1.6)
$sudo vi /etc/apt/sources.list
>> sun jdk받아오기 위하여 저장소 추가
deb http://archive.canonical.com/ maverick partner
$sudo apt-get update
$sudo apt-get install sun-java6-jdk 

2. FTP, Tomcat, MySql, Apache, Ant, SVN, Bind9 ...
$sudo apt-get install vsftpd tomcat6 tomcat6-admin apache2 ant subversion libapache2-svn mysql-server mysql-client bind9 cronolog

2-1. 그룹 및 경로설정
>> web group 설정
$groupadd web
$sudo usermod -a -G web tomcat6
$sudo usermod -a -G web myaccount

>> was가 바라보는 경로 설정. 접근 편하게 심볼릭 걸어줌
$mkdir ~/webapps
$cd ~/webapps
$mkdir mywebsite 
$sudo ln -s ~/webapps /webdir
$sudo chown -R myaccount:web /webdir/
$sudo chmod -R g+w /webdir/
 
3. MySql 설정
$sudo vi /etc/mysql/my.cnf
--------------------------------------------------------------------------------
>>원격 접속을 위해 아래 설정 주석처리한다.
#bind-address        = 127.0.0.1
[client]
default-character-set=utf8

[mysqld]
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

[mysqldump]
default-character-set=utf8

[mysql]
default-character-set=utf8
--------------------------------------------------------------------------------
$sudo /etc/init.d/mysql restart

>>변경 여부 확인 및 database생성
$mysql -u root -p 
mysql> status
mysql> show variables like 'c%';
 
>>Database 생성
create database dbname character set utf8;
create user 'userid'@'localhost' identified by 'dbpassword';
grant all privileges on dbname.* to userid@'%' identified by 'dbpassword' with grant option;
FLUSH PRIVILEGES;

4. SVN Apache연동
>>홈 계정에 설치
sudo mkdir ~/svn-repo
sudo svnadmin create ~/svn-repo/reponame
sudo chown -R www-data:www-data ~/svn-repo

>>SVN접근 계정 생성
sudo htpasswd -cm /etc/apache2/dav_svn.passwd 계정

>> 아파치 설정 
sudo vi /etc/apache2/mods-enabled/dav_svn.conf
<Location /svn/reponame>
  DAV svn
  SVNPath /home/myaccount/svn-repo/reponame
  AuthType Basic
  AuthName "RepoName Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  Require valid-user
</Location>

sudo killall svnserve
sudo /etc/init.d/apache2 restart
sudo svnserve -d -r /home/myaccount/svn-repo/
 
>> 브라우저에서 확인 
http://192.168.0.3/svn/reponame

>> 새로운 프로젝트 저장소에 추가 절차
sudo svnadmin create ~/svn-repo/프로젝트이름
sudo chown -R www-data:www-data ~/svn-repo
 
5. Tomcat설정
>> tomcat work directory
$mkdir /webdir/work
$sudo vi /var/lib/tomcat6/conf/server.xml
------------------------------------------------------------------------------------
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>
  <Service name="Catalina">
    <Connector port="8076" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
        <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Context docBase="/webdir/mywebsite" path="" reloadable="false" workDir="/webdir/work/mywebsite"/>
        </Host>
    </Engine>
  </Service>
</Server>
------------------------------------------------------------------------------------

6. Apache, Tomcat 연동
$sudo vi /var/lib/tomcat6/conf/server.xml 
>> 다음 부분 찾아서 주석해제한다. 위에 있는대로 따라했다면 주석이 풀려있는 상태일거다
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/> 

$sudo vi /etc/apache2/workers.properties
------------------------------------------------------------------------------------
worker.list=tomcat1
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=20
------------------------------------------------------------------------------------
 
$sudo vi /etc/apache2/apache2.conf
>> <IfModule mpm_event_module>" 설정 다음 라인에 작성했음. 위치는 상관없는 듯하다
------------------------------------------------------------------------------------
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
JkWorkersFile /etc/apache2/workers.properties
JkShmFile /var/log/apache2/mod_jk.shm
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel info 
------------------------------------------------------------------------------------
 
$sudo vi /etc/apache2/sites-enabled/000-default
>> tomcat으로 넘길 놈들 세팅, 상황에 맞게 수정
------------------------------------------------------------------------------------
DocumentRoot /webdir/mywebsite
JkMount /*.jsp tomcat1
JkMount /*.html tomcat1
JkMount /*.ajax tomcat1
JkMount /*.adm tomcat1
JkMount /download/* tomcat1
------------------------------------------------------------------------------------

$sudo /etc/init.d/tomcat6 restart
$sudo /etc/init.d/apache2 restart

7. cronlog 설정(Apache log file 날짜별로 쌓이도록)
$sudo vi /etc/apache2/sites-available/default
-----------------------------------------------------------------------------------
SetEnvIfNoCase Request_URI "\.(gif|jpg|png|swf|css|js|ico)$" do_not_log
CustomLog "|/usr/sbin/cronolog --symlink=/var/log/apache2/access_log /var/log/apache2/%Y/%m/access_log_%Y%m%d" combined env=!do_not_log
ErrorLog "|/usr/sbin/cronolog --symlink=/var/log/apache2/error_log /var/log/apache2/%Y/%m/error_log_%Y%m%d"
-----------------------------------------------------------------------------------
$sudo /etc/init.d/apache2 restart
 
8. 네임서버 설정(Bind9)
 일단 후이즈나 카페24에서 도메인을 구입 후 "호스트등록"을 한다. 검색하면 나올텐데 잘모르겠으면 고객센터에 문의하면 바로 알려준다.(여기서 무지 해맸음)

>> 네임서버 설정.  
구매한 도메인의 네임서버 변경 페이지에서 호스트명은 ns.mysite.com, ip는 111.222.333.444가 된다.
(111.222.333.444 는 자신의 아이피로, mysite.com은 구매한 도메인으로 치환)

$sudo vi named.conf.local
------------------------------------------------------------------------------------
zone "mysite.com" {
        type master;
        file "/etc/bind/zone/db.mysite.com";
};
------------------------------------------------------------------------------------
$sudo cp /etc/bind/db.local /etc/bind/zone/db.mysite.com
$sudo vi /etc/bind/zone/db.mysite.com
-----------------------------------------------------------------------------------
$TTL    604800
@       IN      SOA   ns.mysite.com.    root.mysite.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS     ns.mysite.com.
@       IN      A       111.222.333.444
www  IN      A       111.222.333.444
mail    IN      A       111.222.333.444
*        IN      A       111.222.333.444
-----------------------------------------------------------------------------------

>> 재시작 및 테스트. 
localhost를 바라보게 한 후 도메인을 쳤을 때 아이피가 제대로 매핑되는지 확인하자
 
$sudo /etc/init.d/bind9 restart
$nslookup
> server localhost
> www.mysite.com

 

'Ubuntu' 카테고리의 다른 글

시간 맞추기  (0) 2012.06.04
우분투 sun jdk  (0) 2012.02.22
아파치 로그 관리, cronolog  (0) 2011.06.27
내 머릿 속의 지우개  (0) 2011.06.01
우분투10 세팅  (0) 2010.06.07
Posted by 기계식키보드
:
$sudo apt-get install cronolog
$sudo vi /etc/apache2/sites-available/default

>> 다음 내용 입력(CustomLog, ErrorLog는 이미 작성되어 있으니 주석처리 해주자)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
SetEnvIfNoCase Request_URI "\.(gif|jpg|png|swf|css|js|ico)$" do_not_log
CustomLog "|/usr/sbin/cronolog --symlink=/var/log/apache2/access_log /var/log/apache2/%Y/%m/access_log_%Y%m%d" combined env=!do_not_log
ErrorLog "|/usr/sbin/cronolog --symlink=/var/log/apache2/error_log /var/log/apache2/%Y/%m/error_log_%Y%m%d"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

$sudo /etc/init.d/apache2 restart

>> 로그 쌓이는 것 확인 
cd /var/log/apache2

 

'Ubuntu' 카테고리의 다른 글

시간 맞추기  (0) 2012.06.04
우분투 sun jdk  (0) 2012.02.22
가상서버 호스팅 신청부터 세팅까지  (0) 2011.12.09
내 머릿 속의 지우개  (0) 2011.06.01
우분투10 세팅  (0) 2010.06.07
Posted by 기계식키보드
: