Build/Helper/Scripts/install.sh
Dennis Eichhorn bd921e29f3 fix tests
2023-09-24 17:57:27 +00:00

135 lines
4.5 KiB
Bash

#!/bin/bash
###############################################################
## General
###############################################################
# For every user .bash_profile
export PROMPT_COMMAND='if [ "$(id -u)" -ne 0 ]; then echo "$(date "+%Y-%m-%d.%H:%M:%S") $(pwd) $(history 1)" >> /var/www/html/backup/bash/$(date "+%Y-%m-%d").log; fi'
# Debian
#wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
#echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
apt -y install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install php8.1 php8.1-dev php8.1-cli php8.1-common php8.1-mysql php8.1-pgsql php8.1-xdebug php8.1-opcache php8.1-pdo php8.1-sqlite php8.1-mbstring php8.1-curl php8.1-imap php8.1-bcmath php8.1-zip php8.1-dom php8.1-xml php8.1-phar php8.1-gd php-pear apache2 mysql-server wkhtmltopdf tesseract-ocr poppler-utils
a2enmod rewrite
a2enmod headers
# USE mysql;
# mysql < 5.7
# UPDATE user SET plugin='mysql_native_password' WHERE User='root';
# UPDATE user SET password=PASSWORD("") WHERE User='root';
# FLUSH PRIVILEGES;
# exit;
# else mysql >= 5.7
# ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
# else mysql even newer
# UPDATE mysql.user SET Password=PASSWORD('root') WHERE User='root';
# flush privileges;
# update mysql.user set plugin='' where user='root';
# flush privileges;
###############################################################
## Jingga Server
###############################################################
apt-get install borgbackup
### Install borg
borg init -v --encryption=repokey /var/www/html
borg key export /var/www/html repokey
###############################################################
## Developer
###############################################################
apt-get install npm git composer cmake postgresql postgresql-contrib pcov
composer install
composer update
npm install -D jasmine jasmine-node istanbul jasmine-console-reporter supertest jasmine-supertest selenium-webdriver chromedriver geckodriver eslint
### Setup postgresql
# /etc/postgresq/hba_..
# change from md5 to trust
# login to psql and \password define new password
update-rc.d postgresql enable
service postgresql start
# Install sqlsrv
# https://docs.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-2017
# https://www.sqlservercentral.com/blogs/reset-sa-password-on-sql-server-on-linux
# systemctl restart mssql-server
#Mssql
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
apt-get update
apt-get install -y mssql-server
/opt/mssql/bin/mssql-conf setup
systemctl status mssql-server --no-pager
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
apt-get install libodbc1 unixodbc unixodbc-dev msodbcsql
https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.1/mods-available/pdo_sqlsrv.ini
phpenmod -v 8.1 sqlsrv pdo_sqlsrv
service apache2 restart
pecl install ast
echo "extension=ast.so" | tee /etc/php/8.1/mods-available/ast.ini
phpenmod ast
# Install redis
sudo apt install redis-server
# /etc/redis/...config
# supervised systemd
# dir /var/lib/redis
systemctl restart redis
pecl install redis
echo "extension=redis.so" | tee /etc/php/8.1/mods-available/redis.ini
phpenmod redis
# Install memcached
apt-get install memcached libmemcached-dev libmemcached-tools php8.1-memcached
systemctl restart memcached
pecl install memcached
echo "extension=memcached.so" | tee /etc/php/8.1/mods-available/memcached.ini
phpenmod memcached
# create new user
#adduser test
#usermod -aG sudo test
# Install email server for testing
apt-get install dovecot-imapd dovecot-pop3d
# protocls = pop3 pop3s imap imaps
# pop3_uidl_format = %08Xu%08Xv
/etc/init.d/dovecot start
sudo useradd -d /home/test -g mail -u 1001 -s /bin/bash test
# Make sure no ssh is possible for this user
# FTP
apt-get install vsftpd
# /etc/vstftpd.conf
# write_enable=YES
# anon_upload_enable=YES
# connect_from_port_20=NO