목록내가 자꾸 까먹어서 쓰는 개발 이야기/Linux Server (19)
FILife
윈도우10 2004 업데이트가와 함께 WSL도 업데이트가 되었다. 처음에는 /mnt/d/projects 디렉토리를 mount하여 document_root 로 사용했으나, 찾아보니 /mnt 내에 위치한 파일은 제 속도가 나오지 않는다고 한다. /home 안에 새로 디렉토리를 만들었는데, 탐색기에서 접근할 방법이 막막했다. \\wsl$ 경로로 접근하면 된다기에 해봤더니 권한 오류가 발생한다. 이 경우는 IDE를 통해 해결되었다. intellij 계열이나 VScode 가 WSL 경로를 지원한다는듯 하다. 이후에 생긴 문제는 browsersync 사용 시 브라우저에서 접속이 안되는 것이었다. npm run watch 커맨드를 실행하면 브라우저 탭은 새로 열리는데 접속이 불가했다. 자동생성되는 3000번 포트가 ..
비교적 최근에 윈도우10에는 Windows Subsystem Linux(WSL) 이라는 것이 생겼다. 윈도우상에서 리눅스를 돌리는 것이라 생각하면 되겠다. 다만 윈도우에 종속적인지라, 전체설치한 리눅스와는 달라서 손볼 부분들이 좀 있다. 난 물론 우분투 18.04를 설치했다. 기본으로 설치 된 ssh는 제대로 작동하지 않는 이슈가 있으므로, 지우고 새로 설치한다. $ sudo apt purge open-ssh $ sudo apt install open-ssh -y 다음으로, 웹서버를 구축할것이니 당연하게도 nginx, php-fpm을 설치한다. sudo apt install nginx php7.2-fpm -y php-fpm용 모듈은 필요한걸 알아서 설치 해 준다. nginx의 site-enabled에 적..
이번엔 꽤 복잡했다. 1. phpunit, gitlab-runner 설치 먼저 Laravel의 테스트 자동화를 도와줄 phpunit을 composer.json에 추가해준다. unit test 자동화를 위해 https://github.com/vigneshc91/laravel-test-generator 패키지를 documentation에 따라 설치하고, 불필요하거나 시스템에 영향을 미칠 수 있는 테스트 항목을 정리하여 셋팅 해 두었다. 추후 gitlab-runner 가 phpunit으로 테스트를 수행하려면 composer.json의 require-dev 항목에 들어있어야 한다. $ composer require --dev phpunit/phpunit ^8.3 해당 내용을 포함하여 저장소에 push 해 준다...
Laravel-mix + Vue 를 쓰다보니 귀찮은 일이 생겼다. 바로 npm 빌드 시 평소에는 dev 모드로 빌드해서 debug를 하고, 배포할땐 production 빌드를 해야 하는 점이다. 고민하다 sh를 짜기로 했다. 역할은 매우 간단하다. 1. 배포할 서버를 입력 받는다. 2. 커밋 메시지를 입력 받는다. (없으면 커밋이 안되니까) 3. 빌드한다 4. git add, git commit, git push를 차례대로 수행한다. 5. deployer로 배포한다. 먼저 vi나 touch 커맨드로 dep.sh 파일을 생성한다. chmod +x dep.sh 를 수행하여 실행 권한을 준다. sh는 아래와 같다. build="" st () { #해당하는 번호가 없으면 다시 선택할 수 있도록 함수 작성 ech..
아래 링크를 따라 하면 해결. https://community.letsencrypt.org/t/solved-usr-local-sbin-certbot-auto-851-usr-local-sbin-certbot-auto-opt-eff-org-certbot-venv-bin-letsencrypt-not-found/42545 요약은 이렇다. rm -rf ~/.local/share/letsencrypt rm -rf /opt/eff.org/certbot/ 실행 후 재시도.
설치하기 편에서 웹브라우저를 통해 접속했다면, 먼저 Add Connection을 눌러 Local Socket 연결을 추가한다. 첫 화면은 Mother Machine들의 목록이다. 좀전에 추가한 머신을 클릭하여 다음 화면으로 간다. 뭐 있는게 없다고 나올것이다. 바로 New instance를 클릭해서 정보를 입력 후 확인을 누르면 이미지를 선택하라고 한다. 즉, 안된다. 선작업이 필요한 것이다. 화면 좌측을 보면 메뉴가 아래와 같이 있을것이다. 이제 시작한다. 1. Storage 1-1. HDD image dir 추가 [New Storage]를 클릭하여 dir을 추가한다. HDD 이미지가 저장 될 공간을 설정하는 것이니, 적당한 경로를 넣어준다. HDD dir이 설정되면 [Add Image]를 클릭하여 I..
일단 시작한다. http://rockball.tistory.com/301 위 url에서 패키지 설치 부분을 참고하여 진행한다. 1. 패키지의 설치를 진행한다. $ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils 2. 사용자 계정을 libvirtd, kvm 그룹에 넣어준다. $ sudo adduser [사용자 ID] libvirtd$ sudo adduser [사용자 ID] kvm http://gentooboy.tistory.com/m/222 3. CUI 기준이므로 위 url을 참고하여 bridge network를 설정해준다. $ vi /etc/network/interfaces auto br0iface br0 inet stat..
기준은 Ubuntu 16.04LTS 다. 개발 서버의 사용자 계정명은 dev-slave다. 그래, 개발노예.. 다짜고짜 설치부터 한다. $ sudo apt-get install ruby-full 귀찮으니까 full로 설치한다. ruby를 설치했으면 capistrano를 설치한다. 대상 서버에서 sudo 명령을 날릴 것에 대비해 sshkit-sudo도 함께 설치한다. $ sudo gem install capistrano $ sudo gem install sshkit-sudo 프로젝트에 포함시켜도 좋고 포함시키지 않아도 좋겠지만, 버전관리에 포함시키면 clone 한번 뜨는것 만으로 배포 환경이 따라오므로 나는 포함시킨다. staging은 개발용 테스트 서버(development)와 LIVE서버(product..
구글을 통해 찾아보면 다음과 같이 수행하라고 나온다. sudo rm /var/lib/apt/lists/* -vfsudo apt-get udpate 된다는 사람들도 있었지만, 난 안됐다. 하나만 더 추가 해 주자. sudo rm /var/lib/apt/lists/* -vfsudo apt-get clean && sudo apt-get udpate 잘 된다. 출처: http://itsfoss.com/how-to-fix-problem-with-mergelist/ ※ 이런 방법도 있다고 한다. http://aberration.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC-apt-get-%EC%97%90%EB%9F%AC
어쩌다 보니 윈7, 우분투, 민트의 3가지 OS가 돌아가고 있다. 민트를 메인으로 사용하는데, 멀티부팅이 자꾸 우분투(목록에서 3번째)를 기본으로 선택해서, GRUB 설정을 바꿔보겠다고 민트와 우분투의 /etc/default/grub 의 priority를 0으로 수정했으나 여전히 3번째.. 걍 포기하고 있다가 우연히 구글 검색으로 발견한 방법이 먹혔다. /etc/default/grub 대신 /boot/grub/grub.cfg 를 수정하면 된다. ( set default="0" 으로 변경해주면 됨 ) 보통 기본으로 읽기만 가능한 상태이므로, chmod를 해준 후 수정 하도록 한다. Vim으로 열어 보면 이렇게 되어 있다. 출처: http://usingnamespace.tistory.com/75#tb
sudo ln -sf /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 /usr/lib/ sudo ln -sf /usr/lib/x86_64-linux-gnu/libpython2.7.so.1 /usr/lib/ sudo sudo wget http://rabbitvcs.googlecode.com/svn/trunk/clients/nautilus-.0/RabbitVCS.py /usr/share/nautilus-python/extensions sudo chown -R $USER:$USER ~/.config/rabbitvcs 기껏 받은 RabbitVCS가 Nautilus에서 뜨질 않으면.. 구글링 해 보면 여러가지 방법이 나오는데, 유일하게 이 방법만이 먹혔다. 출처: https://..
1. 우분투 데스크톱 설치 우분투 14.04(현재 기준 최신 버전)을 http://www.ubuntu.com/download/desktop 에서 내려받는다. wubi를 통해 설치하면 된다는 얘기가 있었으나, 시도해본 결과 permission denied 오류와 함께 계속 실패. 대책으로 제시 된 방법들을 3~4가지 사용 해 봤으나 실패! 실패! 결국 usb 시동디스크를 만들어서 설치했다. (http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows) 기초 패키지(?)는 https://github.com/gyuha/settings 이곳에서 간단하게 모듬 설치 할 수 있다. 2. 드라이버 설치 참고자료 : http://blog.daum.net/..
# vi /etc/rc.local "exit 0" 전에 필요한 명령을 추가한다. 끗.
CentOS에 ssh로 접속하면 푸티 등의 클라이언트에서 접속이 일정시간 지나면 끊기게 된다. 그래서 다시 접속해야 한다. 귀찮으면 다음과 같이 설정하여 접속유지시간을 늘릴 수 있다. /etc/ssh/sshd_config 파일을 vi에디터로 열어 다음 항목의 주석을 풀어주자.ClientAliveInterval 600 ClientAliveCountMax 3 위 항목의 의미는 다음과 같다.ClientAliveInterval 600서버로 데이터의 수신이 없을시 클라이언트가 살아있는지 확인 신호를 보내는 간격ClientAliveCountMax 3확인신호를 지정된 횟수만큼 보내고 응답이 없으면 세션을 종료 원문 : Life스토리님 블로그
/etc/apt/sources.list 파일에 아래 두줄을 추가. deb http://ppa.launchpad.net/svn/ppa/ubuntu precise main deb-src http://ppa.launchpad.net/svn/ppa/ubuntu precise main 아래 구문을 실행. sudo apt-get update sudo apt-get install subversion끗. 출처 : http://kovshenin.com/2013/subversion-1-7-on-ubuntu-12-04/
svn: warning: cannot set LC_CTYPE localesvn: warning: environment variable LC_CTYPE is ko_KR.utf-8svn: warning: please check that your locale name is correct svn: warning: cannot set LC_CTYPE localesvn: warning: environment variable LC_CTYPE is ko_KR.utf-8svn: warning: please check that your locale name is correct http://opencpp.tistory.com/entry/Subversion-Locale-Warning # export LC_ALL=C 환경변수 ..
1. 유저 홈디렉토리 (~)로 이동. (cd 엔터) 2. vi .bashrc (또는 vim .bashrc) 3. 다음을 추가한다. cd() { builtin cd "$1"; ls -l; } 이제 CD로 디렉토리 이동 시 자동으로 목록을 보여준다. 출처 : http://superuser.com/questions/355482/trouble-aliasing-cd-in-bash
우분투의 경우 자주 일어나는 현상이며, 해당 오류와 함께 가상서버가 시작되지 않는다. 이는 우분투 커널의 업데이트로 인해 발생되는 문제라고 한다. XenCenter에서 해당 서버가 속한 XenServer Pool의 Console로 들어가 다음을 수행한다. xe-edit-bootloader -n your_vm_name -p 1(-n 대신 -u옵션을 주고 host-uuid를 입력해줘도 된다.) 위와같이 실행하면 부트로더 수정 화면으로 진입하게 되는데, submenu "Previous Linux versions" { ... } 부분을 전부 주석처리 해준 후 ctrl+X를 통해 저장하고 나가면 서버를 시작할 수 있게 된다.참고로 주석문자는 # 이며, 멀티라인 주석은 애석하게도 모름. 출처 : http://www..
export PS1='\[\033[0;37m\]\u@\h \[\033[01;34m\w\] \[\033[00m\]$ ' 프롬프트에서 실행 시 터미널 종료 후 다시 접속하면 초기화 되므로, $USER/.bashrc 에 'export' 부분을 제외하고 추가 해 주면 계속 유지된다. 참고 URL : http://darkrang.tistory.com/99 , http://blog.naver.com/PostView.nhn?blogId=kunks3&logNo=114737528&redirect=Dlog&widgetTypeCall=true