Archive

2021-01-01 TIL

|

2021-01-01 TIL


  • 오늘 한 것
    1. 계산기 스스로 구현하기 도전 - 공포의 계산기..한 번 좌절을 맛봤던 이 녀석을 꼭 스스로의 힘으로 정복하겠다고 다짐했다. 학원 수업을 들어서 원리를 알았기에 100% 스스로의 힘은 아닐지라도 레이아웃이라도 바꿔서 재도전했다. 다음에는 바닐라JS로만 구현해보이겠다.
    2. TO-DO-LIST 마크업 - 노마드와 JS30 튜토리얼 등에서 배운 것들을 총망라해서 나만의 투두리스트를 만들자고 생각해서 시작하게되었다. 마침 새해이기도 하고? 바닐라JS 연습이기에 디자인은 심플하고 간결하게 하려고 했으나 기왕 하는거 예쁘게 하려고 하다보니 HTML/CSS에서 시간을 너무 많이 쏟았다. 뭐 아직 미숙하기도하니 연습삼아 나쁘지않다고 생각한다. 와꾸는 다 짰으니 내일은 JS로 기능 구현에 전력을 쏟아야겠다.
    3. 블로그 포스팅 (CentOS DHCP) - 동적으로 IP를 할당해주는 DHCP 서버의 구축과 운영을 배웠다.

  • 내일 할 것
    1. TO-DO-LIST 코딩하기 JS 마무리
    2. 이것이 리눅스다 CentOS 공부
    3. 블로그 포스팅 (Javascript Day 9, Java Day 19, CentOS)

  • 끝으로

학원 과제를 제외하고 일주일에 한 개씩이라도 나만의 웹 혹은 웹 앱을 만들겠다. 2021년의 소소한 시년 계획이랄까?

오늘의 한 줄 총평 : 2021년 신축년 안녕?


CentOS8 DHCP 서버 설치와 운영

|

CentOS8 DHCP 서버 설치와 운영


이것이 리눅스다 의 Chapter16 DHCP 서버 설치와 운영의 실습내용입니다.



이번엔 컴퓨터가 부팅될 때마다 자동으로 IP주소, 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소를 할당해주는 DHCP (Dynamic Host Configuration Protocol) 서버를 설치하고 운영해보자.

Server 컴퓨터를 DHCP 서버로 구축하고 사용하기 위해서 우선 VMware에서 기본적으로 제공하는 DHCP 서버 기능을 종료해야한다.

VMware workstation pro를 켜고 [Edit] - [Virtual Network Editor] 를 열어 VMnet8의 [DHCP Settings…]를 열어 서브넷IP, 서브넷 마스크, 브로드캐스트 주소, 시작과 끝 IP 주소를 확인한다.

[NAT Settings]에서는 게이트웨이 IP주소와 DNS 서버 IP주소를 확인한다.

이제 DHCP 서버 기능을 종료하기 위해 아래의 버튼을 선택해제하고 적용하고 종료.

세팅


이제 client 컴퓨터를 부팅하여 DHCP 서버가 꺼졌는지 확인해보자.

DHCP 서버가 없으므로 ifconfig 명령으로 ip주소를 확인해보면 IP주소가 없다.

ifconfig


이제 또 다른 DHCP 클라이언트로 사용할 linux centOS 텍스트모드 운영체제를 가진 server(B) 컴퓨터를 부팅해보자.

server(B)는 설치시 고정 IP를 지정했으므로 네트워크 연결이 잘 된다.

DHCP 클라이언트로 사용하기 위해 vi 편집기로 /etc/sysconfig/network-scripts/ifcfg-네트워크장치명 을 열어 BOOTPROTO의 설정을 dhcp로 바꾸고 저장한다.

설정


nmcli connection down 네트워크장치명

nmcli connection up 네트워크장치명

네트워크 장치를 껐다 켜서 설정을 적용시키고 재부팅을 하자. ifconfig 명령을 쳐보면 역시나 ip주소가 없는 것을 볼 수 있다.


이제 server 컴퓨터에 본격적으로 DHCP 서버를 구축해보자.

dnf 명령으로 dhcp-server 패키지를 설치하고 설정 파일을 편집해보자.

편집

vi 혹은 gedit으로 /etc/dhcp/dhcpd.conf 파일을 열어 VMware의 설정에서 확인한 정보들을 입력하는데 첫번째줄부터 네임 서버의 동적 업데이트 옵션, DHCP 네트워크 주소, 클라에게 알려줄 게이트웨이 주소, 클라에게 알려줄 네트워크 범위, 클라에게 할당할 IP주소 범위, 클라에게 알려줄 네임서버 주소, 클라에게 IP주소를 임대해줄 초 단위, 클라가 IP주소를 할당받고 보유할 수 있는 최대시간을 뜻한다.

실습에선 클라에게 줄 IP주소 범위를 55~99로 설정했다.


IP 주소를 대여해 간 정보는 /var/lib/dhcpd/dhcpd.leases 파일에 기록될 것이다.

systemctl 명령으로 dhcpd를 재가동해주고 상태를 확인해보자. active중이면 OK.


이제 client 컴퓨터로 접속하여 IP 주소를 할당받자.

55

IP 주소를 확인해보면 55가 잡혀있는 것을 볼 수 있다. 인터넷도 정상 작동된다면 성.공.적.


이제 server(B) 컴퓨터로도 IP 주소를 확인해보자.

56

핑도 잘 돌고 아주 잘 된다. 성.공.적.


이제 server 컴퓨터에서 IP 주소 대여 기록을 확인해보자.

/var/lib/dhcpd/dhcpd.lease 파일을 확인해보면 다 나온다.

대여기록


다음 실습을 위해 VMware 네트워크 설정을 초기화하자~

끝.




참고자료


이것이 리눅스다 Chepter 16 DHCP 서버 설치와 운영

Eclipse & Github 연동하기

|

Eclipse & Github 연동하기


어쩌다보니 새해 첫 포스팅이 되었다.

Java로 구현한 계산기를 깃헙에 올려볼까 하다가 평소에 애용하는 vscode말고 이번엔 eclipse로 한 번 연동해서 올려보자라는 생각이 들었다. 기왕 하는거 나중에도 볼겸 포스팅도 하지 뭐.

우선 깃헙에 저장소를 하나 만들고 URI를 복사한다.

이클립스로 돌아와서 오른쪽 끄트머리에 네모 아이콘을 클릭하여 perspective를 열어준다.

아이콘

[window] - [perspective] - [Open perspective] - [others] 로도 가능하다.

요론 창이 뜨면 Git을 클릭하고 Open.

Open


화면 창이 바뀌고 다시 오른쪽 끄트머리를 보면 Git 아이콘이 생겼다. 초록색 Java 아이콘을 클릭하면 다시 익숙한 작업화면으로 돌아올 것이다.

[Git Repositories] 화면을 보면 3가지 선택란이 나오는데 깃헙에서 이미 저장소를 만들어두었으므로 두번째 Clone 어쩌구를 클릭한다.

clone


아까전 복사해온 URI를 URI란에 넣으면 똑똑한 녀석이 다른 칸도 자동으로 채워준다.

URI 밑에 User ID, PASSWORD 도 적어주고 다음 클릭.

Branch Selection 란이 나오는데 아직 저장소가 비워있으므로 다시 다음 클릭.

Local Destination 란이 나오면 연동될 프로젝트가 위치할 디렉토리를 설정하고 피니쉬.

Initial Branch 안적어도 자동으로 master로 초기화 된다.

Local

아까 만든 깃헙 저장소와 이클립스가 연동된 것을 볼 수 있다.

연동


다시 Java 작업환경으롣 돌아와서 업로드할 프로젝트 우클릭 - [Team] - [Share Project]를 클릭해보면 방금 Local Destination에서 설정한 디렉토리를 선택 할 수 있다.

저장소선택

다시 프로젝트 우클릭해서 [TEAM]을 보면 commit, fetch, pull, push 등 다양한 버튼들이 활성화 된 것이 보인다.

우선 [Add to index] 를 클릭하여 Add를 해주고 Commit을 눌러주게 되면 staged된 목록들이 보이고 commit message 창도 보인다.

commit

적당히 메세지를 적어주고 [commit and push] 버튼을 눌러주자.


여러 commit 정보들이 나오고 [preview] 버튼을 클릭.

preview

Push Confirmation 란에서 Branch 기타등등 확인하고 [Push] 를 하게되면 push가 되었다는 다이얼로그 창이 뜬다.

이제 저장소에서 확인을 해보면~~~ 업로드가 되어있다.

완료


Eclipse & Github 연동하기 끝.



2020-12-31 TIL

|

2020-12-31 TIL


  • 오늘 한 것
    1. 학원 비대면 수업(15:30~22:00) 친구관리 문제풀이 - 사실 이름만바꾸면 고객관리 시스템으로 바꿔도 된다 ㅋㅋ 내가 코딩한 것과 선생님이 코딩한 것을 비교했을때 전체적으로 코드의 간결성은 선생님이 짠 코드가 깨끗했다. 하지만 주제넘을 수도 있자만 몇몇 기능들은 내가 짠 코드가 더 기능적이라고 생각한다. 그간 조금은 발전을 한 것이겠지?
    2. 학원 과제 친구?관리 프로그램 이벤트 걸기 - File save & load 기능만 빼고 다 구현했다~! 아 뿌듯하다. checkbox로 선택된 boolean 값들을 배열에 넣어 friedn 클래스 생성자의 매개변수로 넣었는데 잘 작동했다. 매개변수로 배열도 들어갈 수 있구나..
    3. 블로그 포스팅 (CentOS NFS) - js 공부를 하려했으나 linux는 기한이 있는 것이라 linux공부를 먼저 해야겠다.

  • 내일 할 것
    1. 계산기 안보고 코딩하기 도전
    2. 투두리스트 안보고 코딩하기 도전
    3. 이것이 리눅스다 CentOS 공부
    4. 블로그 포스팅 (Javascript Day 9, Java Day 19, CentOS)

  • 끝으로

이제 머리속으로 구현한대로 로직을 짜고 구현하는 연습을 많이 해야겠다. 기초는 계속해서 닦아야하지만 이런 기능이 있지않을까? 생각해보고 메소드를 찾아서 사용해보고 이런 과정이 더 기억에 잘 남는것 같다.

오늘의 한 줄 총평 : 2020년 안녕 Bye~


CentOS8 NFS 서버 설치와 운영

|

CentOS8 FTP 서버 설치와 운영


이것이 리눅스다 의 Chapter14 NFS 서버 설치와 운영의 실습내용입니다.



server에 NFS(Network File System) 서버를 설치하고 client에서 공유 폴더에 접속해보자.

NFS 서비스를 이용하려면 nfs-utils 패키지가 필요하다.

nfs-utils 패키지가 없다면 dnf 명령으로 설치를 한다.

vi나 gedit으로 /etc/exports 파일을 만든 후 다음과 같이 작성한다.

exports

192.168.111.xxx 로 시작되는 모든 IP의 접속을 허용하며 읽고 쓰기가 가능하다.

sync는 NFS가 쓰기 작업을 완료할 때마다 디스크를 동기화한다. async보다 속도는 약간 더 느리나 경고 메시지가 안뜬다.


이제 공유 폴더로 쓰일 share 디렉토리를 생성하고 접근 권한을 707로 지정한다.

Test용으로 쓰일 적당한 파일을 /share에 옮기자.

share


systemctl 명령으로 nfs-server를 가동시키고 상시 가동되도록 한다.

exportfs -v 명령으로 nfs 서비스의 가동을 확인해보자.

nfs확인

root_squash는 client가 root 사용자로 NFS 서버에 접속해도 NFS 서버의 root 사용자 권한을 얻을 수 없도록 방지하는 기본 옵션이다. 맨 앞에 no를 붙이면 기능을 정지시킬 수 있으나 보안을 위해 냅두자.


실습을 위해 firewall 방화벽을 꺼두자.

이제 client 컴퓨터로 server의 NFS 서버에 접속을 해보자.

마찬가지로 우선 nfs-utils의 설치를 확인한다.

showmount -e NFS서버IP 명령으로 NFS 서버의 공유 폴더를 확인해보자.

폴더확인


/share 공유 폴더에 마운트할 디렉토리(myshare)를 만들고 root 사용자 권한을 빌려 myshare 디렉토리를 공유 폴더에 마운트한다. 파일 리스트를 확인해보면 조금 전 Test용으로 공유 폴더에 옮겨놓은 파일들을 볼 수가 있다.

마운트


이제 client에서 server의 NFS 서버 공유폴더를 사용 할 수 있게 되었다.

그럼 client가 부팅될 때마다 NFS 서버의 공유 폴더에 자동으로 마운트가 되도록 설정해보자.

터미널에서 su 명령으로 root 사용자로 로그인한다.

gedit으로 /etc/fstab 파일을 열고 마지막에 한 줄을 추가한다.

NFS서버IP:/공유폴더 마운트할디렉토리path nfs default 0 0

fstab추가


재부팅 후에 myshare가 마운트되어있는지 확인을 해보자. 파일과 폴더도 만들어보자.

잘 된다면 성.공.적 😙

window 운영체제의 client에서도 물론 NFS 서버에 접속 할 수 있다.

[제어판] - [프로그램] - [windows 기능 켜기/끄기] - [NFS용 서비스]를 체크하고 cmd창을 연 뒤 *mount NFS서버IP:/공유폴더 ** 명령으로 서버와 연결 하면 Z 드라이브가 생성된다. Z 드라이브에 파일을 읽고 쓰기가 가능 할 것이다. 끝




참고자료


이것이 리눅스다 Chepter 14 NFS 서버 설치와 운영