Retour au blog
avr. 2019·1 min de lectureTraduit par IA
Langue:DeutschEnglishFrançaisÖsterreichischKlingonian Version originale: Deutsch

CentOS - L'essentiel du serveur

#centos#centos-einrichten#server#server-befehle#server-einrichten#server-essentials

De temps en temps, je dois réinstaller mon serveur CentOS (soit parce que quelque chose a de nouveau mal tourné, soit parce que le sentiment satisfaisant d'un système neuf et propre me manque), et j'ai fini par en avoir profondément (vraiment profondément !) assez d'exécuter sans cesse les mêmes tâches de réinstallation. Pour accélérer un peu ce processus, j'ai écrit un script qui s'occupe pour moi des tâches pénibles. Peut-être aidera-t-il l'un ou l'autre. Le script ne doit en aucun cas être vu comme un « lancer et c'est bon », mais plutôt comme une collection de petits extraits dont on peut avoir besoin un jour. À noter : le script est écrit pour CentOS 7. Amusez-vous bien !

1. Update / Upgrade / Clean YUM

sudo yum -y clean all
sudo yum -y upgrade
sudo yum -y update

2. Install essentials

yum -y install nano
yum -y install zip
yum -y install unzip
yum -y install wget

3. Set Nano as default Editor

echo "export EDITOR=nano" >> ~/.bashrc
source ~/.bash_profile

4. Disable Remote Password Login

sudo nano /etc/ssh/sshd_config

Set PasswordAuthentication to « no »

sudo service sshd restart

5. Open HTTPS und HTTP Port

sudo firewall-cmd --add-service=http
sudo firewall-cmd --add-service=https
sudo firewall-cmd --runtime-to-permanent
sudo firewall-cmd --reload

6. Generate SSH Key for current user

ssh-keygen -t rsa -b 4096

7. Install Apache

sudo yum -y install httpd
sudo systemctl start httpd
sudo systemctl enable httpd

8. Enable .htaccess

In /etc/httpd/conf/httpd.conf set

AllowOverride in Directory /var/www to All

9. Activate Virtual Hosts

mkdir /var/www/domain.de
sudo chown -R apache:apache /var/www
sudo chmod -R 774 /var/www

10. Add conf-File for each domain in /etc/httpd/conf.d/

ServerName "www.DOMAIN.de"
ServerAlias "DOMAIN.de"
DocumentRoot "/var/www/DOMAIN.de/"

11. Enable SSL

sudo yum -y install epel-release
sudo yum -y install httpd mod_ssl python-certbot-apache
sudo systemctl start httpd
sudo certbot --apache -d DOMAIN.de -d www.DOMAIN.de

12. Increase Security

In /etc/httpd/conf.d/ssl.conf comment

SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA

Out

13. Enable Auto Renew

sudo crontab -e

insert

30 2 * * * /usr/bin/certbot renew >> /var/log/ssl-renew.log

14. Check everything

sudo apachectl configtest
sudo systemctl restart httpd

15. Install PHP

yum -y install epel-release yum-utils
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php72
yum -y install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
sudo apachectl restart

16. Install MySQL

sudo yum -y localinstall https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
sudo yum -y install mysql-community-server
sudo systemctl enable mysqld
sudo systemctl start mysqld
sudo systemctl status mysqld

17. Secure SQL

sudo grep 'temporary password' /var/log/mysqld.log
sudo mysql_secure_installation

18. Connect without password on local

cat <<EOT >> /etc/my.cnf
[client]
user=root
password=PASSWORD
EOT

19. Create User and grant admin

mysql -uroot -p

run

CREATE USER 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' WITH GRANT OPTION;
ALTER USER 'david' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

20. Add sftp access for created user

adduser USERNAME
passwd USERNAME
adduser sftp-USERNAME
passwd sftp-USERNAME
groupadd sftpuser
sudo usermod -aG sftpuser sftp-USERNAME
chmod 774 -R /var/www/
chown -R USERNAME 770 /var/www/
cat <<EOT >> /etc/ssh/sshd_config
Match User sftpuser
    X11Forwarding no
    AllowTcpForwarding no
    PermitTTY no
    ForceCommand cvs server
    PermitRootLogin yes
EOT
cp -r /root/.ssh /home/USERNAME/
cp -r /root/.ssh /home/sftp-USERNAME/
chown -R USERNAME:USERNAME /home/USERNAME/
chown -R sftp-USERNAME:sftp-USERNAME /home/sftp-USERNAME/
Plus récentAutopush - Téléverser simplement les fichiers modifiésPlus ancienFire on enter