Ubuntu Dev Server - haiquang9994/dev_env GitHub Wiki
php
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.1-fpm php7.1-mbstring php7.1-json php7.1-xml php7.1-zip php7.1-curl php7.1-mysql php7.1-gd php7.1-soap php7.1-dev php7.1-intl
sudo apt install php7.2-fpm php7.2-mbstring php7.2-json php7.2-xml php7.2-zip php7.2-curl php7.2-mysql php7.2-gd php7.2-soap php7.2-dev php7.2-intl
sudo apt install php7.3-fpm php7.3-mbstring php7.3-json php7.3-xml php7.3-zip php7.3-curl php7.3-mysql php7.3-gd php7.3-soap php7.3-dev php7.3-intl
sudo apt install php7.4-fpm php7.4-mbstring php7.4-json php7.4-xml php7.4-zip php7.4-curl php7.4-mysql php7.4-gd php7.4-soap php7.4-dev php7.4-intl
sudo apt install php8.1-fpm php8.1-mbstring php8.1-xml php8.1-zip php8.1-curl php8.1-mysql php8.1-gd php8.1-soap php8.1-dev php8.1-intl
sudo apt install php8.2-fpm php8.2-mbstring php8.2-xml php8.2-zip php8.2-curl php8.2-mysql php8.2-gd php8.2-soap php8.2-dev php8.2-intl
nginx
sudo apt install nginx
mysql
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb &&
sudo apt install ./mysql-apt-config_0.8.15-1_all.deb &&
sudo apt update &&
rm ./mysql-apt-config_0.8.15-1_all.deb &&
sudo apt install mysql-server -y
mysql 5.7 for ubuntu 20.04
wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
Khi cài đặt mysql-apt-config, chọn Ubuntu Bionic
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
sudo apt update
If you encounter the "signature couldn't be verified" error like this :
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
apt-cache policy mysql-server
sudo apt install -f mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*
php_extension
php7.1 ::: 20160303
sudo pecl -d php_suffix=7.1 install -f redis &&
sudo mv /usr/lib/php/20160303/redis.so /usr/lib/php/20160303/redis-71.so &&
echo extension=redis-71.so | sudo tee /etc/php/7.1/mods-available/redis.ini &&
sudo ln -s /etc/php/7.1/mods-available/redis.ini /etc/php/7.1/cli/conf.d/20-redis.ini &&
sudo ln -s /etc/php/7.1/mods-available/redis.ini /etc/php/7.1/fpm/conf.d/20-redis.ini
sudo pecl -d php_suffix=7.1 install -f mongodb &&
sudo mv /usr/lib/php/20160303/mongodb.so /usr/lib/php/20160303/mongodb-71.so &&
echo extension=mongodb-71.so | sudo tee /etc/php/7.1/mods-available/mongodb.ini &&
sudo ln -s /etc/php/7.1/mods-available/mongodb.ini /etc/php/7.1/cli/conf.d/20-mongodb.ini &&
sudo ln -s /etc/php/7.1/mods-available/mongodb.ini /etc/php/7.1/fpm/conf.d/20-mongodb.ini &&
php7.2 ::: 20170718
sudo pecl -d php_suffix=7.2 install -f redis &&
sudo mv /usr/lib/php/20170718/redis.so /usr/lib/php/20170718/redis-72.so &&
echo extension=redis-72.so | sudo tee /etc/php/7.2/mods-available/redis.ini &&
sudo ln -s /etc/php/7.2/mods-available/redis.ini /etc/php/7.2/cli/conf.d/20-redis.ini &&
sudo ln -s /etc/php/7.2/mods-available/redis.ini /etc/php/7.2/fpm/conf.d/20-redis.ini
sudo pecl -d php_suffix=7.2 install -f mongodb &&
sudo mv /usr/lib/php/20170718/mongodb.so /usr/lib/php/20170718/mongodb-72.so &&
echo extension=mongodb-72.so | sudo tee /etc/php/7.2/mods-available/mongodb.ini &&
sudo ln -s /etc/php/7.2/mods-available/mongodb.ini /etc/php/7.2/cli/conf.d/20-mongodb.ini &&
sudo ln -s /etc/php/7.2/mods-available/mongodb.ini /etc/php/7.2/fpm/conf.d/20-mongodb.ini
php7.3 ::: 20180731
sudo pecl -d php_suffix=7.3 install -f redis &&
sudo mv /usr/lib/php/20180731/redis.so /usr/lib/php/20180731/redis-73.so &&
echo extension=redis-73.so | sudo tee /etc/php/7.3/mods-available/redis.ini &&
sudo ln -s /etc/php/7.3/mods-available/redis.ini /etc/php/7.3/cli/conf.d/20-redis.ini &&
sudo ln -s /etc/php/7.3/mods-available/redis.ini /etc/php/7.3/fpm/conf.d/20-redis.ini
sudo pecl -d php_suffix=7.3 install -f mongodb-1.15.3 &&
sudo mv /usr/lib/php/20180731/mongodb.so /usr/lib/php/20180731/mongodb-73.so &&
echo extension=mongodb-73.so | sudo tee /etc/php/7.3/mods-available/mongodb.ini &&
sudo ln -s /etc/php/7.3/mods-available/mongodb.ini /etc/php/7.3/cli/conf.d/20-mongodb.ini &&
sudo ln -s /etc/php/7.3/mods-available/mongodb.ini /etc/php/7.3/fpm/conf.d/20-mongodb.ini
php7.4 ::: 20190902
sudo pecl -d php_suffix=7.4 install -f redis &&
sudo mv /usr/lib/php/20190902/redis.so /usr/lib/php/20190902/redis-74.so &&
echo extension=redis-74.so | sudo tee /etc/php/7.4/mods-available/redis.ini &&
sudo ln -s /etc/php/7.4/mods-available/redis.ini /etc/php/7.4/cli/conf.d/20-redis.ini &&
sudo ln -s /etc/php/7.4/mods-available/redis.ini /etc/php/7.4/fpm/conf.d/20-redis.ini
sudo pecl -d php_suffix=7.4 install -f mongodb-1.20.1 &&
sudo mv /usr/lib/php/20190902/mongodb.so /usr/lib/php/20190902/mongodb-74.so &&
echo extension=mongodb-74.so | sudo tee /etc/php/7.4/mods-available/mongodb.ini &&
sudo ln -s /etc/php/7.4/mods-available/mongodb.ini /etc/php/7.4/cli/conf.d/20-mongodb.ini &&
sudo ln -s /etc/php/7.4/mods-available/mongodb.ini /etc/php/7.4/fpm/conf.d/20-mongodb.ini
php8.1 ::: 20210902
sudo pecl -d php_suffix=8.1 install -f redis &&
sudo mv /usr/lib/php/20210902/redis.so /usr/lib/php/20210902/redis-81.so &&
echo extension=redis-81.so | sudo tee /etc/php/8.1/mods-available/redis.ini &&
sudo ln -s /etc/php/8.1/mods-available/redis.ini /etc/php/8.1/cli/conf.d/20-redis.ini &&
sudo ln -s /etc/php/8.1/mods-available/redis.ini /etc/php/8.1/fpm/conf.d/20-redis.ini
sudo pecl -d php_suffix=8.1 install -f mongodb &&
sudo mv /usr/lib/php/20210902/mongodb.so /usr/lib/php/20210902/mongodb-81.so &&
echo extension=mongodb-81.so | sudo tee /etc/php/8.1/mods-available/mongodb.ini &&
sudo ln -s /etc/php/8.1/mods-available/mongodb.ini /etc/php/8.1/cli/conf.d/20-mongodb.ini &&
sudo ln -s /etc/php/8.1/mods-available/mongodb.ini /etc/php/8.1/fpm/conf.d/20-mongodb.ini
php8.2 ::: 20220829
sudo pecl -d php_suffix=8.2 install -f redis &&
sudo mv /usr/lib/php/20220829/redis.so /usr/lib/php/20220829/redis-82.so &&
echo extension=redis-82.so | sudo tee /etc/php/8.2/mods-available/redis.ini &&
sudo ln -s /etc/php/8.2/mods-available/redis.ini /etc/php/8.2/cli/conf.d/20-redis.ini &&
sudo ln -s /etc/php/8.2/mods-available/redis.ini /etc/php/8.2/fpm/conf.d/20-redis.ini
sudo pecl -d php_suffix=8.2 install -f mongodb &&
sudo mv /usr/lib/php/20220829/mongodb.so /usr/lib/php/20220829/mongodb-82.so &&
echo extension=mongodb-82.so | sudo tee /etc/php/8.2/mods-available/mongodb.ini &&
sudo ln -s /etc/php/8.2/mods-available/mongodb.ini /etc/php/8.2/cli/conf.d/20-mongodb.ini &&
sudo ln -s /etc/php/8.2/mods-available/mongodb.ini /etc/php/8.2/fpm/conf.d/20-mongodb.ini
php config
thay [ubuntu-user] bằng username ubuntu
sudo sed -i 's/user = www-data/user = [ubuntu-user]/g' /etc/php/7.3/fpm/pool.d/www.conf &&
sudo sed -i 's/group = www-data/group = [ubuntu-user]/g' /etc/php/7.3/fpm/pool.d/www.conf &&
sudo sed -i 's/listen.owner = www-data/listen.owner = [ubuntu-user]/g' /etc/php/7.3/fpm/pool.d/www.conf &&
sudo sed -i 's/listen.group = www-data/listen.group = [ubuntu-user]/g' /etc/php/7.3/fpm/pool.d/www.conf &&
sudo sed -i 's/error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT/error_reporting = E_ALL/g' /etc/php/7.3/cli/php.ini &&
sudo sed -i 's/error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT/error_reporting = E_ALL/g' /etc/php/7.3/fpm/php.ini &&
sudo sed -i 's/display_errors = Off/display_errors = On/g' /etc/php/7.3/cli/php.ini &&
sudo sed -i 's/display_errors = Off/display_errors = On/g' /etc/php/7.3/fpm/php.ini &&
sudo sed -i 's/display_startup_errors = Off/display_startup_errors = On/g' /etc/php/7.3/cli/php.ini &&
sudo sed -i 's/display_startup_errors = Off/display_startup_errors = On/g' /etc/php/7.3/fpm/php.ini &&
sudo sed -i 's/post_max_size = 8M/post_max_size = 128M/g' /etc/php/7.3/cli/php.ini &&
sudo sed -i 's/post_max_size = 8M/post_max_size = 128M/g' /etc/php/7.3/fpm/php.ini &&
sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 32M/g' /etc/php/7.3/cli/php.ini &&
sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 32M/g' /etc/php/7.3/fpm/php.ini
nginx config
thay [ubuntu-user] bằng username ubuntu
\/home\/[ubuntu-user]\/vhosts\/\*\.conf\; là đường dẫn folder vhosts
sudo sed -i 's/user www-data/user [ubuntu-user]/g' /etc/nginx/nginx.conf &&
sudo sed -i 's/include \/etc\/nginx\/sites-enabled\/\*\;/include \/etc\/nginx\/sites-enabled\/\*\;\n include \/home\/[ubuntu-user]\/vhosts\/\*\.conf\;\n client_max_body_size 100M\;/g' /etc/nginx/nginx.conf
composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" &&
php composer-setup.php &&
sudo mv composer.phar /usr/local/bin/composer &&
php -r "unlink('composer-setup.php');"
redis-server
sudo apt install redis-server
nodejs via package
nodejs 18
Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_18.x | bash - &&\
apt-get install -y nodejs
nodejs 16
Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&\
apt-get install -y nodejs
yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - &&
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list &&
sudo apt-get update && sudo apt-get install yarn
dnsmasq for ubuntu 18.04
sudo systemctl disable systemd-resolved &&
sudo systemctl stop systemd-resolved &&
echo -e "nameserver 127.0.0.1\nnameserver 8.8.8.8" | sudo tee /etc/resolv.conf &&
sudo apt-get install dnsmasq &&
echo -e "[main]\ndns=none\n" | sudo tee /etc/NetworkManager/conf.d/enable-dnsmasq.conf &&
sudo service NetworkManager restart &&
echo "address=/.lc/127.0.0.1" | sudo tee /etc/dnsmasq.d/local &&
sudo service dnsmasq restart
git
sudo apt install git &&
git config --global user.email "[email protected]" &&
git config --global user.name "Nguyễn Hải Quang"
deployer
curl -LO https://deployer.org/deployer.phar &&
sudo mv deployer.phar /usr/local/bin/dep &&
sudo chmod +x /usr/local/bin/dep