2024년 3월 3일 일요일

Ubuntu 22.04 server에 LAMP 설치를 통한 RStudio Server 설치와 owncloud 클라우드 서비스 운용 최신화

 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


댓글 없음:

댓글 쓰기