전에 다니던 회사에서는 SVN을 전통적으로(?) 사용을 하고 있었다. 그래서 정말 뜻 깊은 경험을 하게 되었다. 그래서 로컬에서 한 번 깔아보려고 한다.
1. subversion 설치
sudo apt install subversion
이미 깔린 광경을 목격할 수 있다.
2. 저장소 설정
SVN 서버를 운영하기 위해서는 변경 이력들 및 svn 관련 데이터를 저장할 저장소를 만들어야 한다.
나는 루트 디렉토리(/) 아래에 svn 이라는 디렉토리를 저장소로 사용할 것이다.
sudo mkdir /svn
sudo svnadmin create svnrepo
위의 명령어를 작성하면 여러 설정 파일들이 생성되는데 아래의 경로로 들어가면 svnserver.conf 파일이 존재하는데 이 파일을 통해 설정을 진행할 예정이다.
노란 색으로 칠한 부분을 주석을 해제하면 된다.
anon-access = read # 익명 엑세스의 경우 읽기까지 가능 auth-access = write # 권한있는 엑세스의 경우 쓰기까지 가능 password-db = passwd # 사용자 계정 정보 DB로 passwd 파일 사용 authz-db = authz # 사용자 계정 권한 정보 DB로 authz 파일 사용
3. 유저 설정 및 권한 설정
유저 설정
아래의 경로로 들어가면 passwd 파일이 존재하는데 이 파일을 통해 설정을 진행할 예정이다.
아래와 같이 아이디 = 비밀번호 형식으로 맞춰주면 된다.
유저 권한 설정
아래의 경로로 들어가면 authz 파일이 존재하는데 이 파일을 통해 유저의 권한 설정을 진행할 예정이다.
아래와 같이 아이디 = 권한(r or rw) 형식으로 맞춰주면 된다.
4. svn 서비스 실행
sudo svnserve –d –r SVN 저장소 경로
위 명령을 실행하면 SVN 서비스가 실행된다. 그리고 형상 관리할 프로젝트를 "import" 하면 svn 저장소에 이력들이 올라간다!!!
문제!!
show log 하려는데 svn "Item is not readable" 등의 오류가 발생할 경우에는 아래와 같이 수정한다. 일종의 버그라고 한다.
sudo vim ./svnserve.confsudo vim ./authz
다음 포스팅에서는 포트 변경 및 서비스 실행 / 중단을 위한 서비스 등록, 재부팅 시 자동 시작 등을 다룰 것이다.
원래 기존에 Desktop도 리눅스 우분투를 사용하는 나는 이를 설치를 안 할 수 없었다.
요즘 윈도우에서 동작하는 클라이언트 프로그램에 대한 서버를 만드느라 윈도우에서 개발을 하다보니 Visual Studio를 이용한 개발이 한창이었다. 그런데 이제는 우분투에서는 Visual Studio가 없으니 CLion으로 갈아타야하는데, CLion은 내가 알기로는 CMake 설정을 직접하는 형태인 것이다. 그래서 CMake를 일단 서버에 설치를 해야한다.
그래서 이번 시간에는 CMake 설치하는 시간을 갖도록 하겠다.
CMake를 설치하기 이전에 CMake가 무엇인지 아주아주 간단하게 정리를 해보겠다.
1. CMake란?
CMake를 논하기 이전에 Make가 무엇인지, C언어 계열의 프로그램 작성 방법에 대해서 알아야한다.
C 계열의 프로그램 작성 방법
그리는데 너무 힘들었다 ㅋ
위의 그림과 같은 방법으로 프로그램이 작성이 된다. 예에서 나온 그림을 gcc 컴파일 명령어를 통해 나타내면 다음과 같다.
gcc 혹은 g++ 컴파일러를 이용하여 컴파일을 진행할 경우 위처럼 각 소스 프로그램마다의 목적 파일을 생성하고 이를 연결해주는 링크 작업을 진행한다.
Make
자! 그러면 Make를 설명할 때가 되었다. Make는 위의 명령들을 순차적으로, 자동적으로 실행하여 빌드하도록 돕는 파일 관리 유틸이다.
CMake
CMake 는 멀티플랫폼으로 사용할 수 있는 Make의 대용품을 만들기 위한 오픈 소스 프로젝트라고 하는데, 사실 따지고 보면 위의 Make 파일을 만들어주는 유틸인 것이다. 즉, (빌드를 돕는) (Make를 만들어내는) 그것이 바로 CMake인 것이다.
정말 간단하게 말해서 CMake는 Make가 잘 동작하도록 도와주고 Make는 컴파일을 위한 명령들이 순차적으로 실행될 수 있도록 돕는 것이다.
2. 설치 방법
2-1 . Cmake 3.18.4 버전을 따로 설치할 것이니 기존의 설치가 존재한다면 지운다!
sudo apt purge cmake
2-2 . 필요한 패키지를 설치한다.
sudo apt install wget build-essential
2-3 . Cmake 빌드를 위한 OpenSSL을 설치한다.
wget https://www.openssl.org/source/openssl-1.1.1h.tar.gz # oepnssl 다운로드 tar xzvf ./openssl-1.1.1h.tar.gz # 압축 해제 cd openssl-1.1.1h # 이동 ./config # 빌드 전 config make make test # 빌드 준비 sudo make install # 빌드 시작
제트 브레인 사의 프로그램 ( Clion, Intellij, Pycharm 등) 을 우분투에서 다운로드 하여 압축을 풀어보면, 바로 실행할 수 있는 스크립트를 제공하기 때문에 런처에 실행 아이콘이 자동으로 제공되지 않는다.
그래서 이를 정리해보고자, 글을 작성한다.
1. 다운로드 및 압축 풀기
먼저, 나는 pycharm, intellij, clion 을 종종 사용하기 때문에 깔끔하게 세 개만 다운로드 후 위의 명령어로 설치를 한다.
2. 경로 재설정
접근의 편리성을 위해서 복잡한 디렉토리의 이름을 간단하게 변경한다.
그리고 해당 IDE들은 아무 디렉토리에 널부러져 있는 것 보다는 따로 공용된 곳에 관리하는 것이 낫다고 판단하여 루트 아래의 opt 디렉토리에 넣고 공통적으로 사용할 예정이다. 그래서 위의 mv 명령어로 옮겨 주었다.
3. 런처 아이콘 생성
먼저 런처에 아이콘을 생성하려면 /usr/share/applications/ 폴더 내에 .desktop 이라는 확장명의 일정 텍스트 양식이 존재해야한다. 그 안의 내용을 참조하여 실행, 아이콘 이미지 로드 등이 진행되어 런처에 추가 및 클릭으로 실행을 할 수 있는 것이다.
파일명은 무엇이든 상관없지만 아까전에 2번 항목에서 수정해줬던 이름을 그대로 따랐다.
/usr/share/applications/ij.desktop
[Desktop Entry] Version=1.0 Type=Application Terminal=false Icon[en_US]=아이콘 이미지 경로 Name[en_US]=IntelliJ Exec=실행 스크립트 경로 Name=IntelliJ Icon=아이콘 이미지 경로
아이콘 이미지 경로나, 실행 스크립트 경로는 알아서 찾아서 넣으면 된다. jpg, sh 확장명으로 끝나는 것들을 의미하며, 제트브레인 사의 프로그램들 같은 경우는 bin 폴더 내에 모두 존재한다.
요즘 프리 바람의나라 서버를 개발하고 있는 탓에 DB가 필요하다. 웹에서는 DB가 거의 기본이다 싶었지만, 예전에 DB 개념이 거의 전무하다 싶을 때에는 파일 입/출력을 통해서 유저, 아이템 데이터 등을 관리했다.
그 결과, 텍스트화 되어 있는 게임 데이터를 모두 메모리에 올려다 놓고 거기에 항목에 대한 엑세스까지 행해야하므로 메모리는 메모리 대로 씨피유는 씨피유 대로 박살났던 기억이 있다... ㅠㅠ
아무튼 웹 개발 일을 하면서, 아! 이래서 DB를 썼어야했구나! 아주 절실하게 느끼곤 하는데, 바로 그 DB를 설치해볼 것이다.
그것도 우분투 20.04에서 Maria DB 를 설치해보았다. 우분투 22.04에서 Maria DB를 다시 설치해 보았고, 대체로 동작하지만 몇몇 부분은 누락되는 부분들을 수정했다.
1. 간단하게 바로 설치
sudo apt install mariadb-server
매우 간단하다.
2. 설정
설정이 좀 중요하다.
sudomysql_secure_installation
위의 명령어를 작성하면 여러 설정을 위한 질문들이 나온다
Change the root password? [Y/n] n Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] n Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
읽어보면 바로 알 수 있는 내용들이다. 굵은 글씨는 내가 설정한 내용들이다.
22.04 ) 윗 부분에 없는 질문들은 모두 Default 값으로 엔터만 눌러 넘어가도 문제 없다.
maria db 설정에 성공한 모습이다
3. Character Set 설정
문자 설정 매우 중요하다. 한글이 파괴되면 얼마나 슬프단 말인가. 영어만 입력을 해야하니.. 다음과 같이 하면 된다.
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
위 명령어를 쳐서 general -> unicode로 변경한다. 혹시 모르니까 기존 줄(106)은 주석을 쳐뒀다.
4. Port 변경
remote 가 붙는 경우가 대부분이므로, 포트 설정을 중요하다. 로컬이어도 포트는 사용되니 중요하다.
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
마찬가지로 위 명령어를 통해 port 항목의 값을 원하는 포트 번호로 수정한다.
설정 파일 구조가 조금 바뀌었지만 자신 있게 변경하면 문제없다.
5. 외부 접속 허용 설정
remote 가 아닌 local 에서 다음과 같이 실행한다.
sudomysql-uroot #sudo계정으로 접속
이 아래 부터는 maria db 명령을 치는 곳에다가 쳐야한다.(위 명령을 통해 접속했으므로)
---------------------------------------------------------------------------------------------------------------------------------------------------------------- 설치 당시(2023-05-09) Maria DB 10.6.12 버전에서는 mysql_native_password 가 기본으로 설정 되어 있는 것 같다.... 그래서 점선 사이 부분은 사실 상 커맨드 치지 않아도 된다. ----------------------------------------------------------------------------------------------------------------------------------------------------------------
GRANT ALL PRIVILEGES ON*.*TO '아이디'@'%' IDENTIFIED BY '패스워드'; FLUSH PRIVILEGES;
갑자기 뜬금 없이 아이디가 shyoo 가 나와서 헤깔렸을 수 있는데.. 새로운 아이디 생성은 다음과 같이 CREATE USER 갈겨주면 해결된다. CREATE USER 'USERID'; // 지정한 이름으로 아이디 생성 CREATE USER 'USERID'@'%' identified by 'PASSWORD'; // 지정한 이름으로 아이디 생성 및 외부 접근 허용(%), 비밀번호 설정까지 함께 진행한다. FLUSH PRIVILEGES;
그러니까 기존에 아이디가 존재했다면 GRANT 명령을, 아이디를 새로 생성하는 경우에는 CREATE USER 명령을 갈기면 된다.
6. 서버 허용 아이피 변경
접속을 시도했는데 이런 오류가 뜬다면 문제가 있는 것이다.
그럴 때에는 다음과 같이 한다.
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
위 명령을 작성 후 그림과 같이 한다.
7. 서비스 재시작
sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start -------------------------------------------------------------------- Maria DB 10.06.12 버전에서는 명령 스크립트 이름이 mariadb로 변경됐다. sudo /etc/init.d/mariadb stop sudo /etc/init.d/mariadbstart
메일 발송을 위한 Postfix가 꼭 필요한 모양이다. 그렇기 때문에 설치를 하지만 당장은 필요하지 않다. 필요한 경우에 나중에 다시 설정을 하면 되므로 아래와 같이 선택한 후, 적절하게 입력한다. 말이 적절이지, 특수문자를 제외하고 아무렇게나 입력해도 되는 듯 싶다. 나중에 재설정 가능하다.
먼저, IP 및 PORT의 설정은 /etc/gitlab/gitlab.rb 파일에서 설정을 변경할 수 있다. vim 을 통해서 변경을 하였다.sudovim/etc/gitlab/gitlab.rb변경해야할 항목은 다음과 같다.
external_url
먼저, external_url 을 설정한다. 기존에 gitlab.example.com:[port] 으로 되어 있으나, 자신의 주소와 포트에 맞게 변경한다. [port] 부분을 각자 정의한 포트 번호로 기재하면 된다.
Text Editor는 가림용이다.
그리고 다음의 명령어로 gitlab 서비스를 재시작 한다.
sudogitlab-ctlreconfigure
그리고 설정한 아이피와 포트로 접속했을 때 다음과 같이 뜬다면 성공한 것이다.
5. 처음에 "root" 계정에 대한 비밀번호 변경.
처음 회원가입하고, 로그인할 경우 내가 생성한 계정은 당연스럽게도 pending 상태에 들어간다. 승인이 있어야 가입할 수 있다는 소리이다. Pending 상태를 풀어주려면 당연히 root 계정으로 접속을 해야한다. root 계정의 비밀번호를 알기 위해서는 다음 명령어를 통해서 알아낸다.