{"id":20981714,"url":"https://github.com/yamzil/born2beroot","last_synced_at":"2026-05-01T06:31:31.890Z","repository":{"id":132928422,"uuid":"436803855","full_name":"Yamzil/Born2beroot","owner":"Yamzil","description":"This project is a System Administration related exercise","archived":false,"fork":false,"pushed_at":"2021-12-17T21:31:24.000Z","size":1493,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T06:57:16.151Z","etag":null,"topics":["linux","shell-scripting","system-administration"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yamzil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-10T00:42:25.000Z","updated_at":"2023-09-03T01:14:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb81611c-5ef7-4312-ac1c-dc19f0bda69d","html_url":"https://github.com/Yamzil/Born2beroot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Yamzil/Born2beroot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yamzil%2FBorn2beroot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yamzil%2FBorn2beroot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yamzil%2FBorn2beroot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yamzil%2FBorn2beroot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yamzil","download_url":"https://codeload.github.com/Yamzil/Born2beroot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yamzil%2FBorn2beroot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32487300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux","shell-scripting","system-administration"],"created_at":"2024-11-19T05:40:05.215Z","updated_at":"2026-05-01T06:31:31.865Z","avatar_url":"https://github.com/Yamzil.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Born2beroot\n\n\n# Summary: \n\nThis document is a System Administration related exercise\n\n# Object :\n\nThis project aims to introduce you to the wonderful world of virtualization.\nYou will create your first machine in VirtualBox (or UTM if you can’t use VirtualBox)\nunder specific instructions. Then, at the end of this project, you will be able to set up\nyour own operating system while implementing strict rules.\n\n# VM installations :\n\nInstall (Without Graphic user interface)\n\nChoose language\n\nTerritory or area: -depending on your localisations\n\nHostname: yamzil42\n\nDomain name: left it blank\n\nSetup root passwd user's login and passwd\n\n# SSH \n\nbrief explications :\n\n SSH, for Secure Shell, refers to both a communication protocol and a computer program. It allows the connection of a remote machine (server) via a secure link in order to transfer files or commands securely. \n\ninstalling ssh :\n\n* $ sudo apt-get update\n* $ sudo apt install openssh-server\n\nCheck the SSH server status :\n\n* $ sudo systemctl status ssh\n\nRestart the SSH service :\n\n* $ service ssh restart\n\nChanging default port (22) to 4242 :\n\n* sudo vi etc/ssh/sshd_config\n* sudo vi etc/ssh/ssh_config\n\n# UFW (Uncomplicated Firewall)\n\nbrief explications :\n\nUFW is a new simplified command line configuration tool from Netfilter, which provides an alternative to the iptables tool. UFW should eventually allow automatic configuration of the firewall when installing programs that need it.\n\nEnable :\n\n* $ sudo ufw enable\n\nCheck the status :\n\n* $ Check the status (numbered)\n\nConfigure the port rules\n\n* $ sudo ufw allow ...\n\n# SUDO\n\nLogin as root\n\n* $ su -\n\nInstall sudo\n\n* $ apt-get update -y\n* $ apt-get upgrade -y\n* $ apt install sudo\n\n# Passworld Policy\n\nInstalling password quality checking library (libpam-pwquality):\n\n* $ sudo apt-get install libpam-pwquality\n\n# MONITORING SCRIPT :\n\nCheck monitoring.sh\n\ncrontab file who contains rules for cron daemon. This is a task scheduler (\"run this command at this time on this date\"). This way we can run automatically our monitoring script.\n\nInstall cron :\n\n* $ apt-get cron\n\nEdit cron in order to run script as root :\n\n* $ sudo crontab -u root -e\n\nTo write in the crontab file, schedule the script for every 10 minutes :\n\n* */10 * * * * sh /path/monitoring.sh\n\n# Bonus Part :\n\nInstalling Lighttpd :\n\n* $ sudo apt install lighttpd \n\nAllow incoming connections :\n\n* $ sudo ufw allow 80\n\nInstalling \u0026 Configuring MariaDB :\n\n* $ sudo apt install mariadb-server\n\nStart interactive script to remove insecure default settings :\n\n* $ sudo mysql_secure_installation\nEnter current password for root (enter for none): #Just press Enter\nSet root password? [Y/n] n\nRemove anonymous users? [Y/n] Y\nDisallow root login remotely? [Y/n] Y\nRemove test database and access to it? [Y/n] Y\nReload privilege tables now? [Y/n] Y\n\nLog in to the MariaDB console :\n\n* $ sudo mariadb\nMariaDB [(none)]\u003e\n\nCreate new database :\n\n* MariaDB [(none)]\u003e CREATE DATABASE \u003cdatabase-name\u003e;\n  \nCreate new database user and grant them full privileges :\n\n* MariaDB [(none)]\u003e GRANT ALL ON \u003cdatabase-name\u003e.* TO '\u003cusername\u003e'@'localhost' IDENTIFIED BY '\u003cpassword\u003e' WITH GRANT OPTION;\n  \n* Flush the privileges :\n\n* MariaDB [(none)]\u003e FLUSH PRIVILEGES;\n \nExit the MariaDB :\n\n* MariaDB [(none)]\u003e exit\n  \nVerify whether database user was successfully created :\n\n* $ mariadb -u \u003cusername\u003e -p\nEnter password: \u003cpassword\u003e\n\n* MariaDB [(none)]\u003e\n\nConfirm whether database :\n  \n* MariaDB [(none)]\u003e SHOW DATABASES;\n+--------------------+\n| Database           |\n+--------------------+\n| \u003cdatabase-name\u003e    |\n| information_schema |\n+--------------------+\nExit the MariaDB :\n\n* MariaDB [(none)]\u003e exit;\n  \n# Installing PHP\n  \nInstall php-cgi \u0026 php-mysql :\n \n* $ sudo apt install php-cgi php-mysql\n  \nDownloading \u0026 Configuring WordPress :\n  \nInstall wget :\n\n* $ sudo apt install wget\n  \nDownload WordPress to /var/www/html :\n  \n* $ sudo wget http://wordpress.org/latest.tar.gz -P /var/www/html\n    \nExtract downloaded content :\n\n* $ sudo tar -xzvf /var/www/html/latest.tar.gz\n\nRemove tarball :\n\n* $ sudo rm /var/www/html/latest.tar.gz\n\nCopy content of /var/www/html/wordpress to /var/www/html :\n\n* $ sudo cp -r /var/www/html/wordpress/* /var/www/html\n\nRemove /var/www/html/wordpress :\n\n* $ sudo rm -rf /var/www/html/wordpress\n\nCreate WordPress configuration file from its sample :\n\n* $ sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php\n  \nConfigure WordPress to reference previously-created MariaDB database \u0026 user :\n\n* $ sudo vi /var/www/html/wp-config.php\n\nReplace the below\n\n* 23 define( 'DB_NAME', 'database_name_here' );\n* 26 define( 'DB_USER', 'username_here' );\n* 29 define( 'DB_PASSWORD', 'password_here' );\nwith:\n* 23 define( 'DB_NAME', '\u003cdatabase-name\u003e' );\n* 26 define( 'DB_USER', '\u003cusername\u003e' );\n* 29 define( 'DB_PASSWORD', '\u003cpassword\u003e' );\n\n# Configuring Lighttpd\n  \nEnable below modules :\n\n* $ sudo lighty-enable-mod fastcgi;\n* $ sudo lighty-enable-mod fastcgi-php;\n* $ sudo service lighttpd force-reload\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyamzil%2Fborn2beroot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyamzil%2Fborn2beroot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyamzil%2Fborn2beroot/lists"}