IT관련 지식들 2019. 5. 28. 21:04

개인적으로 사용하는 서버를 다른 사람과 공유할 일이 생겼다.

ftp계정은 열어주되 다른 폴더와 파일을 건드리지 못하게 하는 방법을 찾아봤다. 너무 복잡하게 생각하지 말고 아주 단순하게 생각하면 가능한 일이다.

 

1. vsftpd 설치

  - sudo apt-get install vsftpd

 

2. 외부에 공개할 개정 생성

  - sudo adduser kkk

 

2.1 암호 설정

  - sudo passwd kkk

  >> 암호 입력

 

3. 외부에 공개할 폴더 생성

  - sudo mkdir /data

 

3.1 폴더 권한 변경

  - sudo chown kkk /data

 

3.2 새로 생성한 계정의 홈디렉토리 변경

  - sudo vim /etc/passwd

    - kkk:x:1012:1012::/home/kkk:/bin/bash

    ==> kkk:x:1012:1012::/data:/bin/bash 

      - 만약 마지막에 /bin/bash가 없을 경우 추가해야 나중에 문제되지 않음.

 

4. ftp 설정 변경

  - sudo vim /etc/vsftpd.conf

    - 기본 파일을 복사해 놓으면 원상복구하기 좋다.

    - sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

      - 쓰기 허가. 

        - #write_enable=YES              ==>  write_enable=YES

        - allow_writeable_chroot=YES   ==> 없으면 추가.

      - 홈폴더가 최상위폴더가 되도록 수정.

        - #chroot_local_user=YES        ==> chroot_local_user=YES

 

5. ssh 제한

  - sudo vim /etc/ssh/sshd_config

    - 접속 계정만 설정.

      - 파일 마지막에 다음 문구 추가

        - AllowUsers aaa bbb ccc ddd

 

즉, ftp계정을 하나 추가해서 접속할 수 있게 하되, ssh로는 접속이 안되도록 수정한다.

posted by 동글동글82
:
IT관련 지식들 2019. 1. 22. 15:54

 서버에 X윈도우로 접근해서 UI텍스트 편집기를 사용하려는 꿈에서 VNC 서버 설치를 시작했다.


1. 설치

인터넷을 찾아보니 패키지 설치부터.


$sudo apt-get install gnome-settings-daemon gnome-terminal metacity nautilus

$sudo apt-get install gnome-panel vnc4server


2. 실행 - 암호 설정
계정으로 실행해보면 password 설정을 묻는다.


$vnc4server

... 중략 ...

password:

verify:

... 하략 ...


계정마다 서버에 대한 설정을 따로 진행하기 때문에 내가 사용하는 계정으로 한번 실행해야 한다.


3. 실행환경 설정

실행 환경을 설정한다. 이때 계정마다 설정을 다르게 하기 때문에 sudo 명령어가 필요없다.


$ vnc4server -kill :1

$ cp ~/.vnc/xstartup ~/.vnc/xstartup.old

$ vim ~/.vnc/xstartup


아래 내용으로 변경한다.

#!/bin/sh


# Uncomment the following two lines for normal desktop:


export XKL_XMODMAP_DISABLE=1

unset SESSION_MANAGER

unset DBUS_SESSION_BUS_ADDRESS


[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

xsetroot -solid grey

vncconfig -iconic &


gnome-panel &

gnome-settings-daemon &

metacity &

nautilus &

gnome-terminal &

# 만약 다른 곳에서 연결하는데 화면이 나오지 않으면 추가한다.

# /usr/bin/gnome-session --session=2d-gnome &


x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

x-window-manager &



4. 자동실행 설정


$ sudo nano /etc/init.d/vncserver

아래 내용을 복사하여 붙여넣는다.

#!/bin/bash

### BEGIN INIT INFO

# Provides:          vncserver

# Required-Start:    networking

# Required-Stop:     networking

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

### END INIT INFO


PATH=$PATH:/usr/bin/

export USER=사용자 계정


DISPLAY="1"

DEPTH="16"

GEOMETRY="1600x900"


OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"


. /lib/lsb/init-functions


case $1 in

start)

log_action_begin_msg "Starting vncserver for user ${USER} on localhost:${DISPLAY}"

echo "su ${USER} -c /usr/bin/vncserver ${OPTIONS}"

su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"

;;


stop)

log_action_begin_msg "Stoping vncserver for user ${USER} on localhost:${DISPLAY}"

echo "su ${USER} -c /usr/bin/vnc4server -kill :${DISPLAY}"

su ${USER} -c "/usr/bin/vnc4server -kill:${DISPLAY}"

;;


restart)

$0 stop

$0 start

;;


*)

echo "Usage:/etc/init.d/nvcserver {start|stop|restart}"
;;
esac

exit 0

쉘스트립트의 사용법을 잘 몰라서 ""때문에 고생을 많이 했다. 다른 사이트의 참고자료를 복사할 때도 주의해서 복사하자.



$ sudo chmod +x /etc/init.d/vncserver

$ sudo update-rc.d vncserver defaults


쉘스트립트가 잘 동작하는 확인하기 위해서 다음과 같이 명령어를 실행시켜보면 좋다.


$ sudo /etc/init.d/vncserver start

 * “Starting vncserver for user ‘kangmin’ on localhost:1”...                    su kangmin -c '/usr/bin/vncserver -depth 16 -geometry 1280x720 :1'

A VNC server is already running as :1

$ sudo /etc/init.d/vncserver stop

 * “Stoping vncserver for user ‘kangmin’ on localhost:1”...                     su kangmin -c '/usr/bin/vnc4server -kill:1'


New 'Megatong00:11 (kangmin)' desktop is Megatong00:11


Starting applications specified in /home/kangmin/.vnc/xstartup

Log file is /home/kangmin/.vnc/Megatong00:11.log


vnc를 설정 해지하려면

$ sudo update-rc.d vncserver remove


posted by 동글동글82
:
IT관련 지식들 2019. 1. 3. 18:02

1. 젠킨스 설치

>> sudo apt-get install jenkins 

==>젠킨스를 설치하는 도중에 에러 발생

***********************************************************************************************

에러 메시지


jenkins (2.156) 설정하는 중입니다 ...

Found an incorrect Java version  <<<<<==== 아마도 자바 버전 문제로 판단 됨

Java version found:

java version "1.7.0_181"

OpenJDK Runtime Environment (IcedTea 2.6.14) (7u181-2.6.14-0ubuntu0.3)

OpenJDK Server VM (build 24.181-b01, mixed mode)


Aborting

invoke-rc.d: initscript jenkins, action "start" failed.

dpkg: error processing package jenkins (--configure):

 설치한 post-installation 스크립트 하위 프로세스가 오류 1번을 리턴했습니다

Processing triggers for ureadahead (0.100.0-16) ...

처리하는데 오류가 발생했습니다:

 jenkins

E: Sub-process /usr/bin/dpkg returned an error code (1)

>>


*자바 설치 (현재 1.7버전이 있으니 1.8버전으로 설치)

>> sudo apt-get remove  openjdk-7-jdk  openjdk-7-jre openjdk-7-jre-headless


>> sudp apt-get install openjdk-8-

패키지가 없으니 패키지 서버를 추가하고 다시 설치

>> sudo add-apt-repository ppa:webupd8team/java

>> sudo apt-get update

>> sudo apt-get install oracle-java8-installer

>> java -version

>> javac -version

설치 확인

***********************************************************************************************

설치 재시도.

>> sudo apt-get install jenkins



2. nginx 설치

>> sudo apt-get install nginx


젠킨스 JVM용 리버스 프록시로 동작하도록 nginx의 설정 수정.

>> sudo vim /etc/nginx/sites-enabled/default


아래 내용 추가

server {

        listen 80;

        server_name jenkins.domain.com;

        return 301 http://$host$request_uri;

        }


server {

        listen 80;

        server_name jenkinks.domain.com;


        location / {

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $Proxy_add_x_forwared_for;

        proxy_set_header X-Forwarded-Proto $scheme;


        #"역방향 프록시 설정이 잘못된 것으로 파악되었습니다(It appears that your rewerse proxy set up is broken)"라는 # 에러의 발생을 방지한다.

        proxy_pass      http://127.0.0.1:8080;

        proxy_read_timeout 90;


        proxy_redirect  http://127.0.0.1:8080 https://jenkins.domain.com;

        }

}


nginx 다시 시작
>> sudo service nginx restart

접속확인
http://192.168.XXX.XXX

포트가 문제인가해서 다시 http://192.168.XXX.XXX:80 으로 접속해도 에러


/etc/default/jenkins 파일 확인 중 port 8080을 확인


그래서 8080포트로 접속


암호입력 후 다음화면


왼쪽 유용한 플러그인을 설치



설치 완료 후 관리자 계정 생성



포트 설정


젠킨스 시작




로그인 화면


admin user 를 입력하면 다음 화면으로 이동




젠킨스 스냅샷 백업



설치 중




완료 후 재시작.

posted by 동글동글82
: