1. 우분투 설치 및 기본설정
가. root 계정 암호 설정
# passwd 실행해서 root unix 암호 등 설정
나. 관리자 계정 추가 및 sudo 권한부여
# adduser admin
추가 확인 ls /home
# usermod -a -G sudo admin
다. hostname 변경
# hostnamectl set-hostname 원하는hostname
# hostnamectl
라. 방화벽 설정 생략 : 호스트 컴퓨터 방화벽 사용하려면 ufw 비활성화 필요
# ufw disable
2. apache2 설치
가. 기본설치
# apt update
# apt install apache2
# apache2 -v
나. 인증 관련 설치
https 인증서 관련 프로그램 설치
# apt install ssl-cert
무료인증서 발급 프로그램
# apt install certbot
다. 주요 apache2 모듈 설치
# a2enmod rewrite
# a2enmod headers
# a2enmod ssl
# a2dismod -f autoindex
변경사항 적용
# service apache2 restart
아파치 한경설정 분석
# apache2ctl -S
라. 환경설정 확인
nano 에디터 설치
# apt install nano
기본언어셋 설치 utf-8로 설정(# 부분 제거)
# nano /etc/apache2/conf-available/charset.conf
보안설정
# nano /etc/apache2/conf-available/security.conf
추가보안 패치 : 폴더보고, access 제어
# nano /etc/apache2/apache2.conf
서비스 재시작
# service apache2 restart
마. 아파치 개별 사용자 권한설정
# apt-cache search mpm-itk
# apt install libapache2-mpm-itk
# service apache2 restart
바. 기본사이트 추가 구성
서버 이름 ServerName localhost 예제 밑에 추가, 필요시 웹서버 어드민 추가
# nano /etc/apache2/sites-available/000-default.conf
HTTPS 기본사이트 켜기
# mv /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/000-default-ssl.conf
서버네임 추가 ServerName localhost
# nano /etc/apache2/sites-available/000-default-ssl.conf
실행 및 확인
# a2ensite 000-default-ssl.conf
# apache2ctl -S
설정 적용 및 확인
# service apache2 reload
http://server_ip 웹페이지에서 확인
3. PHP 설치 및 설정
가. 기본설치
* 내가 운용할 웹서비스 버전확인: owncloud php7.4까지만 호환, 8.0사용 불가
# apt update
# apt install php
# php -v
최신 php가 아닌 다운그레이드는 아래 명령어로 버전 선택
sudo update-alternatives --config php
또는 아래처럼 수동으로 7.4 사용 설정
# a2dismod php8.3
# a2dismod php8.2
# a2dismod php8.1
# a2dismod php8.0
# a2enmod php7.4
추가 모듈 : 다국어처리모듈, 이미지 처리모듈, 원격ㄹ지정보 및 xml처리, 수학연산모듈, oauth 인증모듈 mysql 모듈, 의존성관리 모듈 등 설치
# apt install php-mbstring php-gd php-curl php-xml php-bcmath php-oauth php-mysql composer
기차 추가시 아래 명령어에서 이름 보고 선택 추가설치
# apt-cache search php- | grep ^php- | grep module
나. 보안 설치 : 파일 매치 거절 부분에 거절하고 싶은 확장자 추가 예제 확인
# nano /etc/apache2/mods-available/php7.4.conf
# service apache2 restart
다. 기본 time zone 설정
# nano /etc/php/7.4/apache2/php.ini
cron 및 console php php실행 참조
# nano /etc/php/7.4/cli/php.ini
라. phpinfo 파일 생성
# hostname
hostname 보안
웹페이지에서 phpinfo확인을 위한 입력
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php
## nano /var/www/html/info.php 들어가서 아래내용 붙여넣기 해도 됨
<?php phpinfo(); ?>
apache2 재동작 및 확인
# systemctl restart apache2
# systemctl status apache2
아래주소로 확인
http://서버의아이피/info.php
http://64.176.54.9/info.php
4. MySQL 설치 8.0
패스워드 길이 조합 각별히 통제
# apt install mysql-server
# mysql -u root
mysql>create user '사용자id'@'localhost' identified by '사용자패스';
mysql>GRANT ALL PRIVILEGES ON *.* TO '사용자id'@'localhost';
mysql>flush privileges;
mysql>quit;
5.서버 R서버 설치
sudo apt update -qq
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
lsb_release -a
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/"
sudo apt install r-base r-base-dev
R --version
6. Rstudio server 설치
#참조:https://rstudio.com/products/rstudio/
sudo apt-get install gdebi-core
sudo wget https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2023.12.1-402-amd64.deb
sudo gdebi rstudio-server-2023.12.1-402-amd64.deb
서버에서 방화벽 설정 allow 8787
sudo rstudio-server status
sudo rstudio-server verify-installation
-working diretory 설정
터미널에서 mkdir rstudio_ex
상단메뉴를 이용하여 Session > Set Working Directory > Choose Directory.
한글깨지는 것방지
$ cd /usr/share/fonts
$ sudo wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip
$ sudo unzip NanumFont_TTF_ALL.zip -d NanumFont
$ sudo rm -f NanumFont_TTF_ALL.zip
$ fc-list :lang=ko
R 콘솔에서
library(sysfonts) # 없다면 install.packages("sysfonts")
font_add("NanumGothicBold","/usr/share/fonts/NanumFont/NanumGothicBold.ttf")
par(family="NanumGothicBold")
우상단 전원버튼으로 재시작 확인
plot(c(1:5), main="가나다")
7.owncloud 서버 설치
가. 서버설치
sudo wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2
sudo tar -xjf owncloud-complete-latest.tar.bz2
sudo mv owncloud /var/www/
sudo chown -R www-data:www-data /var/www/owncloud/
sudo chmod -R 755 /var/www/owncloud/
나.Mysql DB 생성 및 설정
$ sudo mysql
su
mysql -u root -p
mysql> create user 'yourid'@'%' identified by '자기 비번';
mysql> create database owncloud;
mysql>GRANT ALL on owncloud.* to 'yourid'@'%';
mysql> flush privileges;
mysql>exit;
su 사용자
-https 가능하기 위해서는 SSL 인증서 필요(비쌈)
-Configure Apache for OwnCloud
다. 접속폴더 및 환경 설정
sudo nano /etc/apache2/conf-available/owncloud.conf
-------아래 입력
Alias /owncloud "/var/www/owncloud/"
<Directory /var/www/owncloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
</Directory>
---------------
라. 기타 설정 확인
sudo a2enconf owncloud
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
sudo systemctl restart apache2
마. 접속 및 설치확인
방화벽 포트 설정 : sudo ufw allow mysql
웹서비스 접속 및 확인
http://ip/owncloud