Created
April 21, 2019 03:26
-
-
Save Shipu/d05f8a3e553fa59b78200e5867c07660 to your computer and use it in GitHub Desktop.
Revisions
-
Md Tuser Sheikh created this gist
Apr 21, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,225 @@ #!/usr/bin/env bash if [[ -z `grep "net.ipv6.conf.all.disable_ipv6 = 1" /etc/sysctl.conf` ]]; then echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf fi sudo sysctl -p sudo apt purge webbrowser-app firefox evolution thunderbird empathy sudo apt autoremove --purge if [ ! -e /etc/apt/sources.list.bak ]; then sudo sed -i.bak -E "s/http:\/\/(.+\.)?archive\.ubuntu\.com\/ubuntu\//http:\/\/mirror\.dhakacom\.com\/ubuntu-archive\//" /etc/apt/sources.list fi sudo apt-get update -y sudo apt-get install -y software-properties-common build-essential git curl wget fonts-beng apt-transport-https exfat-fuse exfat-utils wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - sudo tee /etc/apt/sources.list.d/vscode.list <<EOF deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main EOF sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 sudo tee /etc/apt/sources.list.d/mariadb.list <<EOF # MariaDB 10.3 repository list - created 2019-04-10 10:52 UTC # http://downloads.mariadb.org/mariadb/repositories/ deb [arch=amd64,arm64,ppc64el] http://sgp1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic main deb-src http://sgp1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic main EOF sudo add-apt-repository -y ppa:ondrej/php sudo add-apt-repository -y ppa:webupd8team/java sudo apt-get update -y sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo apt-get install -y openssh-server openssh-sftp-server net-tools zsh vim code chromium-browser guake sudo sed -i.bak "s/#UseDNS no/UseDNS no/" /etc/ssh/sshd_config if [[ ! -e $HOME/.ssh/id_rsa.pub ]]; then ssh-keygen -q -f $HOME/.ssh/id_rsa fi sudo apt-get install -y nginx imagemagick mariadb-server redis-server default-jdk oracle-java8-installer sudo tee /etc/mysql/mariadb.conf.d/set-charset-collation.cnf <<EOF # MariaDB-specific config file. # Read by /etc/mysql/mariadb.cnf [client] # Default is Latin1, if you need UTF-8 set this (also in server section) default-character-set = utf8mb4 [mysqld] # # * Character sets # # Default is Latin1, if you need UTF-8 set all this (also in client section) # character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci character_set_server = utf8mb4 collation_server = utf8mb4_unicode_ci bind_address = 0.0.0.0 EOF systemctl daemon-reload systemctl restart mysql sudo update-alternatives --config java if [[ -z `grep JAVA_HOME /etc/environment` ]]; then echo 'JAVA_HOME="/usr/lib/jvm/java-8-oracle"' | sudo tee -a /etc/environment fi if [[ ! -e elasticsearch-6.2.2.deb ]]; then wget https://assets.dev.deligram.com/dl/elasticsearch-6.2.2.deb fi sudo dpkg -i elasticsearch-6.2.2.deb sudo sed -i.bak "/^#\(cluster\.name\:[[:blank:]]*[^[:blank:]]*\)/s//cluster.name: deligram/" /etc/elasticsearch/elasticsearch.yml sudo sed -i "/^#\(node\.name\:[[:blank:]]*[^[:blank:]]*\)/s//node.name: node-1/" /etc/elasticsearch/elasticsearch.yml sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service # apt-cache pkgnames | grep php7.1 sudo apt-get install -y php7.1-fpm php7.1-xml php7.1-xsl php7.1-mbstring php7.1-readline php7.1-zip php7.1-mysql php7.1-sqlite3 php7.1-opcache php7.1-json php7.1-xmlrpc php7.1-curl php7.1-bz2 php7.1-imap php7.1-intl php7.1-bcmath php7.1-soap php7.1-mcrypt php7.1-gd php-imagick php-xdebug export USER_NAME=`whoami` export GIST_BASE="https://gist.githubusercontent.com/mnishihan/7f9bbf3351c122a2fceadf4c4ebe70c4/raw/b99a8951bb220b581408b5e04b6ec6f0a7e9cc73" sudo sed -i.bak "s/user = www-data/user = ${USER_NAME}/" /etc/php/7.1/fpm/pool.d/www.conf sudo sed -i "s/group = www-data/group = ${USER_NAME}/" /etc/php/7.1/fpm/pool.d/www.conf sudo sed -i.bak "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.1/fpm/php.ini sudo sed -i.bak "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.1/cli/php.ini mkdir -p $HOME/workspace/sites/default/adminer $HOME/workspace/sites/laravel sudo cp /var/www/html/index.nginx-debian.html $HOME/workspace/sites/default/index.html sudo chown $USER_NAME:$USER_NAME $HOME/workspace/sites/default/index.html wget -O $HOME/workspace/sites/default/adminer/index.php https://github.com/vrana/adminer/releases/download/v4.7.1/adminer-4.7.1-en.php sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.orig sudo wget -O /etc/nginx/sites-available/default "${GIST_BASE}/nginx-default" sudo sed -i "s/__HOME__/\/home\/${USER_NAME}/g" /etc/nginx/sites-available/default sudo wget -O /etc/nginx/sites-available/laravel-sites "${GIST_BASE}/nginx-laravel-sites" sudo sed -i "s/__HOME__/\/home\/${USER_NAME}/g" /etc/nginx/sites-available/laravel-sites sudo ln -s /etc/nginx/sites-available/laravel-sites /etc/nginx/sites-enabled/ sudo tee /etc/php/7.1/mods-available/xdebug.ini <<EOF [xdebug] zend_extension=xdebug.so xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req ; xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.var_display_max_depth = -1 xdebug.var_display_max_children = -1 xdebug.var_display_max_data = -1 xdebug.idekey=123456789 EOF sudo systemctl restart php7.1-fpm.service nginx.service # install & configure mailcatcher sudo apt-get install libsqlite3-dev ruby2.5-dev sudo gem install mailcatcher sudo tee /etc/systemd/system/mailcatcher.service <<EOF [Unit] Description=MailCatcher Service After=network.service [Service] Type=simple ExecStart=/usr/local/bin/mailcatcher --foreground --ip 0.0.0.0 [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable mailcatcher.service sudo systemctl start mailcatcher.service # if [[ ! -d /opt/PhpStorm-183.5153.36 ]]; then # if [[ ! -e PhpStorm-183.5153.36.tar.gz ]]; then # wget https://assets.dev.deligram.com/dl/PhpStorm-183.5153.36.tar.gz # fi # tar -xzf PhpStorm-183.5153.36.tar.gz # sudo mv PhpStorm-183.5153.36 /opt/ # fi # # install discord deps # sudo apt-get install -y libc++1 libc++abi1 clang libappindicator1 libindicator7 # if [[ ! -e discord-0.0.8.deb ]]; then # wget https://assets.dev.deligram.com/dl/discord-0.0.8.deb # fi # sudo dpkg -i discord-0.0.8.deb # if [[ ! -e insomnia_6.3.2_amd64.deb ]]; then # wget https://assets.dev.deligram.com/dl/insomnia_6.3.2_amd64.deb # fi # sudo dpkg -i insomnia_6.3.2_amd64.deb pushd `pwd` cd /opt sudo git clone https://github.com/mnishihan/dev-tld-resolver.git cd dev-tld-resolver/src sudo make sudo make install sudo sed -i.orig '/^\(hosts\:[[:blank:]]*[^[:blank:]]*\)/s//\1 dev_tld/' /etc/nsswitch.conf if [[ -z `grep DEV_TLD_DOMAINS /etc/environment` ]]; then echo "DEV_TLD_DOMAINS=dev,lrvl,local" | sudo tee -a /etc/environment fi # cd $HOME # chsh -s `which zsh` # wget -O .antigen.zsh https://raw.githubusercontent.com/zsh-users/antigen/develop/bin/antigen.zsh # wget -O .zshrc "${GIST_BASE}/.zshrc" # popd mkdir -p $HOME/bin wget -O composer-setup.php https://getcomposer.org/installer php composer-setup.php --install-dir=$HOME/bin --filename=composer chmod +x $HOME/bin/composer rm -f composer-setup.php $HOME/bin/composer global require "laravel/installer" if [[ -z `grep '$HOME/.composer/vendor/bin' $HOME/.profile` ]]; then tee $HOME/.profile <<EOF if [ -d '$HOME/.composer/vendor/bin' ] ; then PATH='$HOME/.composer/vendor/bin:$PATH' fi EOF fi if [[ -z `grep '$HOME/bin' $HOME/.profile` ]]; then tee $HOME/.profile <<EOF if [ -d '$HOME/bin' ] ; then PATH='$HOME/bin:$PATH' fi EOF fi sudo apt-get install -f sudo apt-get autoremove -y # sudo reboot