localhost/test.php 일때 .php를 없애고싶으면 아래와같이 설정함.


httpd.conf(아마치 설정파일)에서


LoadModule rewrite_module modules/mod_rewrite.so


<IfModule mod_rewrite.c>

Options +MultiViews

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^\.]+)$ $1.php [NC,L]

</IfModule>


저장후 아파치 재시작


끝.



1. eclipse.ini 수정

 기본

 수정후

-vmargs

-Dfile.encoding=UTF-8

-Dosgi.requiredJavaVersion=1.6

-Xms40m

-Xmx512m

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xverify:none

-XX:+UseParallelGC

-XX:-UseConcMarkSweepGC

-XX:PermSize=32M

-XX:MaxPermSize=128M

-XX:MaxNewSize=32M

-XX:NewSize=32M

-Xms1024m

-Xmx1024m


-Dosgi.requiredJavaVersion=1.6 => JDK 1.6 이상을 설치했을 경우에 1.6으로 설정하면 속도가 빨라진다.


-Xverify:none => 클래스의 유효성을 검사 생략. (시작 시간이 줄어 빨라진다.)

-XX:+UseParallelGC => 병렬 가비지 컬렉션 사용. (병렬 처리로 속도 향상)

-XX:+AggressiveOpts => 컴파일러의 소수점 최적화 기능을 작동시켜 빨라진다.

-XX:-UseConcMarkSweepGC => 병행 mark-sweep GC 수행하여 이클립스 GUI의 응답을 빠르게한다.

-XX:+CMSIncrementalMode=true => 점진적인 GC


-XX:PermSize=128M        => Permanent Generation(영구 영역) 크기(Out Of Memory 에러시 크기 조절)

-XX:MaxPermSize=128M  => 최대 Permanent Generation 크기

-XX:NewSize=128M         => New Generation(새 영역) 크기

-XX:MaxNewSize=128M   => New Generation(새 영역) 의 최대 크기


-Xms512m : 이클립스가 사용하는 최소 Heap 메모리

-Xmx512m : 이클립스가 사용하는 최대 Heap 메모리

                     최소와 최대를 같은 값으로 설정하면 오르락 내리락 하지않아 빨라진다.




2. 자동폴딩 해제

Preferences - Java - Editor - Folding - [Enable folding] 체크 해제


3. 코드 자동완성기능 해제

Preferences - Java - Editor - Content Assist - [Auto Activation]의 [Enable auto activation] 체크해제


4. 스펠링 체크설정 해제

Preferences - General - Editors - Text Editors - Spelling - [Enable spell checking] 체크 해제


5. 유효성 체크(Validation) 설정 해제

Preferences - Validation 에서 웹관련을 제외하고 체크해제


6. 메모리 사용 상태 표시

Preferences - General - [Show heap status] 체크


7. 에디터 라인번호 표시

Preferences - General - Editors - Text Editors - [Show line numbers] 체크


8. 새프로젝트 기본 인코딩 설정

Preferences - General - Workspace - [Text file encoding]에서 UTF-8 설정


9. Compare 공백 무시하기

Preferences - General - Compare/Patch - [Ignore white space] 체크


10. 저장액션 설정

Preferences - Java - Editor - Save Actions - 

[Perform the selected actions on save] 체크

[Additional actions] 체크

  - 공백없애기 : [Configure...]버튼눌러서 [Remove trailing whitespace] 체크 (All lines)

  - 안쓰는 임포트 지우기: [Configure...]버튼눌러서 Unnecessary Code탭의 [Remove unused imports] 체크


11. 실행/종료 속도 개선

Preferences - General - Startup and Shutdown - Plugins activated on startup에서 체크해제


12. 기타

  - Eclipse Color Theme: http://eclipsecolorthemes.org

  - 에디터 Vim효과(vrapper): http://vrapper.sourceforge.net/update-site/stable

  - SVN(subclipse): http://subclipse.tigris.org/update_1.10.x



끝.





환경: Windows7 64bit, Apache2.2.25


윈도우는 IIS를 이용해서 webdav서버를 구성할수있다.

그런데 내가 설정을못하는건지 아무리 건드려봐도 접속부분에서 오류가 생긴다.

(로컬네트워크에선 괜찮지만 외부접속이라든지 스마트폰에서 접속시 비정상작동..) 또한 왠지 윈도우가 무거워지는거같으며, 나처럼 각 폴더마다 사용자권한을 부여해주려면 계정을 건드려줘야해서 불편했다.


그래서 찾아보던중 친숙한 아파치웹서버를 이용해서 WebDAV를 손쉽게 구축할수 있고, 너무나 깔끔하게 접속이 잘된다.



일단 아파치를 다운받아 설치가 다되있다고 가정하고 포스팅함.

( C:\Apache2.2 디렉토리에 설치했다고 가정)


1. LockDB설정을 위해 C:\Apache2.2\var 폴더 생성

2. conf/httpd.conf 를 편집해 

    webdav구동에 필요한 모듈을 주석해제처리함.

LoadModule auth_digest_module modules/mod_auth_digest.so

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule dav_lock_module modules/mod_dav_lock.so

.....

Include conf/extra/httpd-dav.conf

.....


3. 사용자 추가

커맨드(cmd)명령창 C:\apache2.2 디렉토리 위치에서..

apache2.2> bin\htdigest -c 파일명 AuthName 아이디


사용예)  bin\htdigest.exe -c WEBDAV_USER WEBDAV_LUUAZ luuaz

- AuthName은 httpd-dav.conf설정할때 필요하며, 로그인시 표시됨.(이름표붙인다고 생각하면됨)

-  -c옵션은 최초생성할때옵션이다. 두번째아이디생성부터 -c옵션을 붙이면안되며, 

   붙일시 기존에 생성했던 아이디는 다 없어집니다.

- 암호변경: -c옵션을 제거하고 동일한 명령을 내리면 암호를 변경함.


4. 그룹 추가

* 그룹은 메모장이나 에디터로 수동으로 생성하면 된다.

  (ex: WEBDAV_GROUP으로 생성)


admins: luuaz

users: simpsons tvg test


- admins와 users의 그룹을 만들고 각사용자를 그룹으로 추가함.(구분자는 공백)



5. conf/extra/httpd-dav.conf 설정

* 이 예제는 H드라이브를 /home으로 지정합니다.

* admins그룹은 읽기/쓰기/수정권한을 모두주며 그외는 읽기권한만 줍니다.


# Alias를 설정합니다. H드라이브를  /home으로 연결합니다.

Alias /home "H:/"  


<Directory "F:/">

Dav On


Order Allow,Deny

# 내부네트워크에서만 공유할시

# Allow from 192.168.0.0/16 127.0.0.1  형식으로!

Allow from all


# AuthType은 Digest인증으로 변경하고 AuthName으로 webdav이름을 설정합니다.

AuthType Digest

AuthName WEBDAV_LUUAZ


# 이전단계에서 생성한 user와 group파일경로를 설정합니다.

AuthUserFile "C:/Apache2.2/WEBDAV_USER"

AuthGroupFile "C:/Apache2.2/WEBDAV_GROUP"

AuthDigestProvider file

# FollowSymLinks는 리눅스에 심볼릭링크용으로 사용하며 (윈도우는 뭔짓을해도 사용불가, 사용할수 있는 방법이 있으면 알려주세요)

Options FollowSymLinks Indexes

# !!읽기 권한설정!! 읽기권한을 설정합니다.

<Limit HEAD GET OPTIONS PROPFIND>

# Require valid-user로 하면 사용가능한 유저에게 모두 부여합니다.

Require user luuaz

</Limit>


# 쓰기권한설정!! admins그룹만 허용합니다.

# 아래 Limit부분은 예제용이며

# <LimitExcept HEAD GET OPTIONS PROPFIND>과 동일합니다.

<Limit POST MKCOL PUT DELETE LOCK UNLOCK COPY MOVE PROPPATCH>

Require group admins

</Limit>

</Directory>



6. Apache Monitor에서 재시작.






참고사항!


1. 포트 및 서버네임변경

* httpd.conf에서...

Listen 8822

...

ServerName 127.0.0.1:8822

...


2. 최상위경로 인덱스 막기.

* 보안을 위해 최상위경로(/)의 파일인덱스권한을 없앤다.

* httpd.conf -> <Directory /> 에서...

Options에있는 Indexes 제거


3. 파일인덱스목록화면이 자세히보기가 아닌 이름만 나온다.

   자세히보기(이름,날짜,크기, 정렬 등등) 로 하려면

* httpd.conf에서 주석해제

Include conf/extra/httpd-autoindex.conf


기타 설정한게 많았지만, 나머지는 나중에 추가포스팅함.






SSL 보안접속 설정


1. Apache2.2/bin위치에서 cmd.

2. 입력

bin> openssl req -config ../conf/openssl.cnf -new -out test.csr -keyout test.pem


입력하면 아래처럼 패스워드와 인증서정보를 요구한다.

Loading 'screen' into random state - done

Generating a 1024 bit RSA private key

.....................................................++++++

...........................................++++++

writing new private key to 'foo.pem'

Enter PEM pass phrase: PASSWORD입력

Verifying - Enter PEM pass phrase: PASSWORD다시입력

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:KO

State or Province Name (full name) [Some-State]:SEOUL

Locality Name (eg, city) []:SEOUL

Organization Name (eg, company) [Internet Widgits Pty Ltd]:Luuaz

Organizational Unit Name (eg, section) []: 

Common Name (e.g. server FQDN or YOUR name) []:서버도메인(일치하지않으면 경고)

Email Address []:관리자이메일


Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []: 공백으로남겨둠

An optional company name []:공백으로남겨둠


3. 입력

bin> openssl rsa -in test.pem -out test.key

   ~~~~~~ 암호입력


4. 입력

bin> openssl x509 -in test.csr -out test.crt -req -signkey test.key -days 3650(유효기간은 마음대로~)


5. bin 디렉토리 아래에 

   test.crt, test.csr, test.key, test.pem 파일이 생성된다

   실제 필요한것은 test.crt와 test.key이다.

   추후에 더 인증을 할필요가 없으면 

   다른두개(test.csr, test.pem)은 지워도 된다.

   필요한 인증서는 conf에 위치로 복사한다.


6. httpd.conf에서 주석제거

LoadModule ssl_module modules/mod_ssl.so

.....

Include conf/extra/httpd-ssl.conf

.....


7. conf/extra/httpd-ssl.conf 편집

# 포트변경

Listen 8823

.....

# 인증서경로 설정

SSLCertificateFile "C:/Apache2.2/conf/luuaz.crt"

SSLCertificateKeyFile "C:/Apache2.2/conf/luuaz.key"



8. Apache2 재시작.


참고사항.

* 예제설정에서 HTTP는 8822, HTTPS는 8823포트로 설정을 하였는데

  HTTP포트로 접속시 강제로 HTTPS포트로 변경하려면 

  httpd.conf에 아래 설정을 입력한다.

  (또다른 설정도 있는데 테스트도안해보고 귀찮아서 패스~)

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTPS} !on

RewriteRule .* https://%{SERVER_NAME}:8823%{REQUEST_URI} [R,L]

</IfModule>





끝. 






레지스트리 수정하면 단번에 끝.


HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/i8042prt/Parameters

이동하여 LayerDriver KOR키값을 kdb101a.dll 에서 kdb101c.dll로 변경하고 재부팅.


끝.






hadoop dfsadmin -safemode leave


끝.


하드디스크 D:\virtualbox_vm\xp.vdi을(를) 여는 데 실패했습니다.


Cannot register the hard disk 'D:\virtualbox_vm\xp.vdi' {ee3caf1e-fb7e-4189-bf40-600d0609f46d} because a hard disk 'D:\v_xp\xp.vdi' with UUID {ee3caf1e-fb7e-4189-bf40-600d0609f46d} already exists.


결과 코드: E_INVALIDARG (0x80070057)

구성 요소: VirtualBox

인터페이스: IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}



이런 메세지가 나오면서 추가가 안될때는..

cmd를 실행시키셔서

>cd "C:\Program Files\Oracle\VirtualBox"

>VBoxManage.exe internalcommands sethduuid "D:\virtualbox_vm\xp.vdi"


하고 추가하면 추가잘됨.

계속추가할꺼임


Ctrl + Shift + O : 자동 Import!


Ctrl + I : 들여쓰기 자동수정

Ctrl + L : 원하는 소스 라인으로 이동


7의 파일을 XP에서 읽기/쓰기 하고싶을때

특히 암호를 써서 공유를 하고싶을때 사용하는 방법입니다.

 

기존에 Everyone계정이라든지 Guest를 사용해서 공유하는 방법이있긴하지만

보안과 암호가 필요없이 네트워크 내 누구한테나 공유가 된다는 단점이 있습니다.

 

근데 윈도우7의 네트워크공유센터 - 고급공유설정변경 에서 암호보호공유켜기만 하면

XP상에서 

액세스 어쩌구저쩌구~~~~~

로그온실패 : 현재 사용할 수 없는 계정입니다.

 

라고 나올때 쓰면되는 방법입니다.

(7의 계정은 암호설정이 되어있는 계정입니다.  XP는 스누피 MICRO R2에디션입니다)

 

몇시간동안 삽질해서 구글링해서 찾은 결과는..

XP 계정을 7의 계정 이름과 똑같이 해주면 된다. 

였습니다..

 

이렇게 하면 암호공유켜기 를 설정해놓아도 접속가능해집니다.

xp에는 암호를 안걸어놓으셔도 됩니다~ 계정이름만 똑같으면됨.. -_-

 

계정 이름을 변경해야 한다는 단점이 있습니다.

시작-실행- control userpassword2 를 치면 사용자설정화면이 나오는데 여기서 변경할수 있습니다~)

 

계정이름이 달라도 암호 설정을 하게끔 하는건 도저히 모르겠습니다.

(검색해보면 많은 방법이 있었지만 전부 실패... 아무래도 내컴에 윈7이 꼬이고꼬인듯...ㅠㅠ)

 

 

혹시나 헤매시는 분있으시면 일단 임시방편으로 저방법을 한번 써보시길~~

공유를 하고는 싶으나 보안때문에 특정사람에게만 공유를 하고싶을때 쓰면될듯합니다

 

(혹시나 방법을 아시는분 있으시면 댓글좀 부탁드려요...ㅠ)

+ Recent posts