https://github.com/fdjrr/.dotfiles
My Setup
https://github.com/fdjrr/.dotfiles
Last synced: 3 months ago
JSON representation
My Setup
- Host: GitHub
- URL: https://github.com/fdjrr/.dotfiles
- Owner: fdjrr
- Created: 2023-03-26T13:13:38.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-05T04:08:01.000Z (about 2 years ago)
- Last Synced: 2025-02-24T17:23:55.041Z (4 months ago)
- Language: Vim Script
- Homepage: https://github.com/fdjrr/setup
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Packages
| Name | Description |
| ---- | -------------------------------- |
| aria2 | Download utility that supports HTTP(S), FTP, BitTorrent, and Metalink |
| vim | Vi Improved, a highly configurable, improved version of the vi text editor |
| zsh | Very advanced and programmable command interpreter (shell) for UNIX |
| php | PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. |
| composer | A Dependency Manager for PHP |
| nodejs | Node.js® is an open-source, cross-platform JavaScript runtime environment. |
| npm | Relied upon by more than 17 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. |\
| python | Python is powerful... and fast; plays well with others; runs everywhere; is friendly & easy to learn; is Open. |
| virtualenv | virtualenv is a tool to create isolated Python environments. |
| mysql | MySQL is a database management system. |
| apache2 | Apache is the most widely used webserver software |
| yt-dlp | yt-dlp tries to parse the external downloader outputs into the standard progress output if possible (Currently implemented: aria2c ). |
| rabbitmq | RabbitMQ is the most widely deployed open source message broker. |## Installation
Install required packages
```
$ sudo su
$ apt-get update && apt-get upgrade -y
$ apt-get install aria2c vim zsh php8.1 nodejs npm python3 python3-pip apache2 mysql-server unzip zip
$ apt-get update && apt-get install -y software-properties-common
$ apt-get update# Composer
# Visit : https://getcomposer.org/download/
# Following the Command-line installation$ reboot
```## Configuration
```
# php configuration# if your distro is Debian, Following the step.
$ echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
$ curl -fsSL https://packages.sury.org/php/apt.gpg| sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/sury-keyring.gpg# if your distro is Ubuntu
$ sudo apt-get install php8.1-intl php8.1-gd php8.1-dom php8.1-zip php8.1-curl php8.1-opcache php8.1-mbstring php8.1-mysqli php8.1-dev php-pear
# If you want connect MS-SQL
# If you using Ubuntu
if ! [[ "16.04 18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
echo "Ubuntu $(lsb_release -rs) is not currently supported.";
exit;
fisudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev# If you using Debian
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list#Debian 11
curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.listexit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
# optional: kerberos library for debian-slim distributions
sudo apt-get install -y libgssapi-krb5-2sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
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
exit
sudo phpenmod -v 8.1 sqlsrv pdo_sqlsrv# Restart the apache
``````
# aria2c configuration# Dont forget to backup the aria2.conf file.
$ sudo mv -f /etc/aria2.conf /etc/aria2.conf.bak
$ sudo ln -s aria2.conf /etc/aria2.conf
``````
# vim configuration# Dont forget to backup the .vimrc file.
$ sudo mv -f ~/.vimrc ~/.vimrc.bak
$ sudo ln -s .vimrc ~/.vimrc
``````
# zsh configuration# Dont forget set default sh to zsh.
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# change theme to agnoster
ZSH_THEME="agnoster"# enable correction
ENABLE_CORRECTION="true"# export PATH python
export PATH=~/.local/bin:$PATH# uncomment the line
alias zshconfig="vim ~/.zshrc"
alias ohmyzsh="vim ~/.oh-my-zsh"
``````
# mysql configuration# First change the authentication plugin in my.cnf file
$ nano /etc/mysql/mysql.conf/mysqld.cnf
[mysqld]
default_authentication_plugin=mysql_native_password
# Restart the mysql service
$ sudo systemctl restart mysql# Run this command on mysql
$ sudo mysql
$ SET GLOBAL validate_password.LENGTH = 4;
$ SET GLOBAL validate_password.policy = 0;
$ SET GLOBAL validate_password.mixed_case_count = 0;
$ SET GLOBAL validate_password.number_count = 0;
$ SET GLOBAL validate_password.special_char_count = 0;
$ CREATE USER '{username}'@'{host}' IDENTIFIED WITH mysql_native_password BY '{password}';
$ GRANT ALL PRIVILEGES ON *.* TO '{username}'@'{host}';
$ FLUSH PRIVILEGES;
``````
# apache2 configuration# enable a2enmod rewrite
$ sudo a2enmod rewrite# either change the root directory of Apache or move the project to `/var/www/html`.
# to change Apache's root directory, run:
$ cd /etc/apache2/sites-available
# then open the 000-default.conf file using the command:
$ sudo vim 000-default.conf
ServerName {subdomain}
DocumentRoot "{path}"
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
# then restart the apache server:
$ sudo systemctl restart apache2
# restart apache
$ sudo systemctl restart apache2
``````
# yt-dlp configuration# Dont forget to backup config file
$ mv ~/.config/yt-dlp/config ~/.config/yt-dlp/config.bak$ mkdir .config/yt-dlp
$ cp yt-dlp/config ~/.config/yt-dlp/config
``````
# rabbitmq-server configuration$ sudo apt-get install -y erlang-base erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
$ sudo apt-get install rabbitmq-server -y --fix-missing# enable management plugin
$ sudo rabbitmq-plugins enable rabbitmq_management
# create user
$ sudo rabbitmqctl add_user deltamas Delta@123!
$ sudo rabbitmqctl set_user_tags deltamas administrator
```