ShareLaTex 설치 및 사용법
협업형 online real time
에디터이다.
http://www.sharelatex.com/ 에서 무료로 사용이 가능하다.
하지만 여러사람을 invite하거나 속도가 마음에 안든다면, 각 연구실에 개인이 구축할 수도 있다.Open-Source
이기 때문이다.
Github 주소: https://github.com/sharelatex/sharelatex
Docker
기반으로 image가 잘 만들어져 있어서 설치법은 간단하다.
필자는 uBuntu 16.04 LTS
버전에서 수행 했다.
shareLatex 설치 및 실행
sudo apt-get -y install python-pip
sudo pip install docker-compose
git clone https://github.com/sharelatex/sharelatex.git
cd sharelatex
sudo docker-compose up
실행결과
jaynux@jaynux-desktop:~/ShareLaTex/sharelatex$ sudo docker-compose up
Starting redis ...
Starting mongo ...
Starting redis
Starting mongo ... done
Starting sharelatex ...
Starting sharelatex ... done
Attaching to redis, mongo, sharelatex
redis | 1:C 21 Nov 05:11:06.228 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis | 1:C 21 Nov 05:11:06.228 # Redis version=4.0.2, bits=64, commit=00000000, modified=0, pid=1, just started
redis | 1:C 21 Nov 05:11:06.228 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
redis | 1:M 21 Nov 05:11:06.229 * Running mode=standalone, port=6379.
...
...
cture: "x64", version: "4.4.0-101-generic" }, platform: "Node.js v6.11.3, LE, mongodb-core: 2.1.9" }
sharelatex | Nov 21 05:17:01 994814b4c50a /USR/SBIN/CRON[331]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
docker-compose.yml
파일을 보면 내부에 port
번호가 적혀 있다.
기본적으론 80
번이다.
따라서 웹 주소창에 IP주소:Port번호
로 입력한다.
아래와 같이 나오면 성공이다.
계정 생성
Admin 계정
원하는 계정 이메일로 생성 후 만들어진 링크로 접속해서 비밀번호를 설정 하면 된다.
docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email joe@example.com"
일반 사용자 계정 생성
web에서 admin 계정으로 접속한 다음 상단의 admin을 누르면
일반 계정을 생성 할 수 있는 창이 나온다.
Latex 업데이트
효율적인 배포를 위해서 sharelatex에는 최소한의 tex package만 설치되어 있다. 약 20개 정도이다.
당연히 5~10GB
정도의 추가적인 package들의 설치가 필요하다.
최신 package들을 사용할려면 업데이트 해야한다.
docker exec sharelatex tlmgr update -self
docker exec sharelatex tlmgr install scheme-full
실행 결과
tlmgr: package repository http://ctan.mirrors.hoobly.com/systems/texlive/tlnet (verified)
tlmgr: saving backups to /usr/local/texlive/2017/tlpkg/backups
[1/1, ??:??/??:??] update: texlive.infra [343k] (45234 -> 45305) ... done
running mktexlsr ...
done running mktexlsr.
tlmgr: package log updated: /usr/local/texlive/2017/texmf-var/web2c/tlmgr.log
jaynux@jaynux-desktop:~$
jaynux@jaynux-desktop:~$ sudo docker exec sharelatex tlmgr install scheme-full
tlmgr: package repository http://ctan.mirrors.hoobly.com/systems/texlive/tlnet (verified)
[1/3428, ??:??/??:??] install: 12many [376k]
[2/3428, 00:09/16:24:09] install: 2up [66k]
...
..
[3429/3429, 04:04:00/04:04:00] install: scheme-full [1k]
running mktexlsr ...
done running mktexlsr.
running mtxrun --generate ...
done running mtxrun --generate.
running updmap-sys ...
done running updmap-sys.
...
...
tlmgr: package log updated: /usr/local/texlive/2017/texmf-var/web2c/tlmgr.log
업데이트 전 용량
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest d22888af0ce0 2 weeks ago 361MB
redis latest 8f2e175b3bd1 2 weeks ago 107MB
sharelatex/sharelatex latest bffb5a850d01 2 months ago 2.4GB
jaynux@jaynux-desktop:~/ShareLaTex/sharelatex$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 795M 9.7M 786M 2% /run
/dev/sdb6 102G 10G 87G 11% /
tmpfs 3.9G 176K 3.9G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 932G 125G 808G 14% /sda1
tmpfs 795M 56K 795M 1% /run/user/1000
업데이트 후 용량
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest d22888af0ce0 2 weeks ago 361MB
redis latest 8f2e175b3bd1 2 weeks ago 107MB
sharelatex/sharelatex latest bffb5a850d01 2 months ago 2.4GB
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 795M 9.7M 786M 2% /run
/dev/sdb6 102G 16G 82G 16% /
tmpfs 3.9G 176K 3.9G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 932G 125G 808G 14% /sda1
tmpfs 795M 56K 795M 1% /run/user/1000
위와 같이 docker image
용량은 변화가 없지만 HDD
용량은 5GB가량이 늘었다.
결국 latex package 파일들이 docker에 저장된 상태가 아니다.
이 상태에서 .yml
파일을 수정하고 docker-compose up
을 실행하면 image가 recreating되고 latex file들이 모두 날라간다.
아래와 같은 메시지가 실행되면서..
Recreating sharelatex ...
Recreating sharelatex ... done
Latex 업데이트후 docker commit
Docker container의 변화가 permanent하지 않기 때문에 restart하면 결과를 잃어 버린다.
왜냐하면 데이터 디렉토리가 containier의 외부에 위치하기 때문이다.
permanent하게 이 변경 사항을 저장하려면 commit
을 해야 한다.
current id 파악
sudo docker ps
패키지 업데이트 내용을 반영한 새로운 docker image를 생성한다.
sudo docker commit -m "installing all latex packages" container-ID ImageName
명령어는 아래와 같다.
jaynux@jaynux-desktop:~/ShareLaTex/sharelatex$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
03a947ea942a sharelatex/sharelatex "/sbin/my_init" 7 hours ago Up 7 hours 0.0.0.0:80->80/tcp sharelatex
9fe256a837e3 mongo "docker-entrypoint.s…" 7 hours ago Up 7 hours 27017/tcp mongo
3e0b3a7561b3 redis "docker-entrypoint.s…" 7 hours ago Up 7 hours 6379/tcp redis
jaynux@jaynux-desktop:~/ShareLaTex/sharelatex$ sudo docker commit -m "installing all latex packages" 03a947ea942a sharelatex/sharelatex:v3
sha256:54065502e1795908ba688f2209edc3c9b38e6706e156fe07865370d3ce335523
jaynux@jaynux-desktop:~/ShareLaTex/sharelatex$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
sharelatex/sharelatex v3 54065502e179 3 minutes ago 7.5GB
mongo latest d22888af0ce0 2 weeks ago 361MB
redis latest 8f2e175b3bd1 2 weeks ago 107MB
sharelatex/sharelatex latest bffb5a850d01 2 months ago 2.4GB
위와 같이 정상적으로 commit
되서 v3
가 생성된 것을 볼 수 있다.
추후에 실행을 위해서 docker-compose.yml
에서 image 위치를 변경한다.
version: '2'
services:
sharelatex:
restart: always
image: sharelatex/sharelatex:v3
참고자료: full functionalities 설치 방법
SMTP 설정
메일 설정을 해야 계정 초대 메일이나 디렉토리 공유 메일이 정상적으로 발송된다.
SHARELATEX_EMAIL_FROM_ADDRESS: "team@sharelatex.com"
SHARELATEX_EMAIL_SMTP_HOST: smtp.gmail.com
SHARELATEX_EMAIL_SMTP_PORT: 465
SHARELATEX_EMAIL_SMTP_SECURE: 'true'
SHARELATEX_EMAIL_SMTP_USER: 본인 ID
SHARELATEX_EMAIL_SMTP_PASS: 본인 비밀번호
SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: 'true'
SHARELATEX_EMAIL_SMTP_IGNORE_TLS: 'false'
SHARELATEX_CUSTOM_EMAIL_FOOTER: "<div>This system is run by me</div>"
도메인 생성을 위한 SSL 설치
공식 사이트에선 nginx
를 이용해서 설치를 해야한다고 한다.
sudo apt-get install nginx
nginx -v
nginx는 Apache처럼 웹서버 환경을 만들어주는 소프트웨어이다.
웹 서버란 전체 서버 아키텍처의 앞단에서 HTTP
요청에 따라서 그 요청을 넘기고 그에 해당하는 file
혹은 리소스를 넘겨주는 역할을 하는 부분입니다.
// 시작
$ sudo service nginx start
$ sudo systemctl start nginx
$ sudo /etc/init.d/nginx start
// 재시작
$ sudo service nginx restart
$ sudo systemctl restart nginx
$ sudo /etc/init.d/nginx restart
// 중지
$ sudo service nginx stop
$ sudo systemctl stop nginx
$ sudo /etc/init.d/nginx stop
// 상태
$ sudo service nginx status
$ sudo systemctl status nginx
// 설정 reload
$ sudo service nginx reload
$ sudo systemctl reload nginx
$ sudo nginx -s reload
// configuration file syntax check
$ sudo nginx -t
해야할 것들
- sharelatex port 변경
- nginx로 특정 port로 변경된 sharelatex으로 연결되게 하기
- SSL 설치해서 nginx로 연동 시키기
'논문 작성 > LaTex' 카테고리의 다른 글
Latex 줄 번호 삽입 (0) | 2016.12.23 |
---|---|
TextStudio 문법 검사 기능 사용 (0) | 2016.06.29 |
TexLive 2016 설치법 (0) | 2016.06.15 |
Latex 에 하이퍼링크 추가방법 (0) | 2016.05.30 |
citation 번호 합치기 (0) | 2016.04.22 |