· 5 years ago · Dec 08, 2020, 08:34 AM
1inputs :
2
3SERVER_USERNAME=kyo
4SERVER_PORT=4780
5GIT_URL=git@bitbucket.org:kyo/sunset.git
6GIT_USERNAME=Kyo Lee
7GIT_EMAIL=kyo.me@gmail.com
8DB_USERNAME=kyo
9DB_PASSWORD=silly123
10DOMAIN=evening.com
11DO_API_KEY=123XXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXX
12
13==================================
14
15timedatectl set-timezone EST && date
16
17apt-get update && apt-get dist-upgrade
18
19useradd -m kyo
20adduser kyo sudo
21passwd kyo
22
23#set the password to : silly123
24
25==================================
26
27vi /etc/ssh/sshd_config
28
29empty the file:
30
31:1,$d
32----------------------------------
33
34Port 4780
35PermitRootLogin no
36PasswordAuthentication no
37ChallengeResponseAuthentication no
38UsePAM yes
39X11Forwarding yes
40PrintMotd no
41AcceptEnv LANG LC_*
42Subsystem sftp /usr/lib/openssh/sftp-server
43AllowUsers kyo root
44
45
46==================================
47SSH in as kyo
48
49Go to /home/kyo/, add my laptop key
50
51su kyo
52type *****
53mkdir .ssh
54cd .ssh
55vi authorized_keys
56
57
58ssh-rsa AAAB3NzaC1yc2EAAAADAQABAAABAQC1YMlxQZEV2D5P5piW8mG9GlnZf2BUmhB/WwBDezE7IgRztR3jG44wMmTD6aWhTuxtNlRkn8K/0c3dTJmaRMLeEgp+u/cfMTCPHZ2MWb3W+3D0WpbQZ6hy8dTprc7NCq3eH3dG9WgyMFd17ra/LPALk6HkGgw91fpn2BCzeSaxAyIfrQ+2gwGqHMnA1KExPKF/uKjoXQi0mfHBllqfh2eraoV2SMjzVxuj6ezpzKvr4DwSduXB1CSJfNkIJh1eRqFRG3NQI+tbu1/8bjvBxkDAQFLZrxa2F4dfmellbMHkoQ3QvFqLMclMBANmH18Q2IPDW031OLg72AfwrLuYOz mbpr@local.com
59
60exit
61
62service ssh restart
63
64
65service ssh status
66
67==================================
68Clone as kyo SSH
69
70
71su kyo
72cd .ssh
73ssh-keygen -t rsa -b 4096 -C "$(whoami)@$(hostname)"
74cat id_rsa.pub
75
76#add that to bitbucket in account SSH
77#can we script this into my DO account base on API key ?
78
79
80==================================
81Install latest PHP packages
82
83#7.2 need to by dynamic
84
85sudo su
86
87
88apt-get install -y toilet &&
89apt-get install -y nginx &&
90apt-get install -y composer &&
91apt-get install -y git &&
92apt-get install -y mysql-server &&
93apt-get install -y mysql-client &&
94apt-get install -y php7.2-cli &&
95apt-get install -y php7.2-curl &&
96apt-get install -y php7.2-dom &&
97apt-get install -y php7.2-mbstring &&
98apt-get install -y php7.2-fpm &&
99apt-get install -y php7.2-mysql &&
100apt-get install -y php7.2-gd &&
101apt-get install -y php7.2-imagick &&
102apt-get install -y php7.2-recode &&
103apt-get install -y php7.2-tidy &&
104apt-get install -y php7.2-xmlrpc &&
105apt-get install -y php7.2-zip
106
107
108==================================
109File Upload Post Size
110
111memory_limit 2048M
112post_max_size 1024M
113upload_max_filesize 1024M
114
115cat /etc/php/7.4/fpm/php.ini | grep memory_limit
116
117
118sed -i -e 's/.*memory_limit.*/memory_limit = 2048M/g' /etc/php/7.4/fpm/php.ini
119sed -i -e 's/.*post_max_size.*/post_max_size = 1024M/g' /etc/php/7.4/fpm/php.ini
120sed -i -e 's/.*upload_max_filesize.*/upload_max_filesize = 1024M/g' /etc/php/7.4/fpm/php.ini
121
122
123cat /etc/php/7.4/fpm/php.ini | grep memory_limit
124cat /etc/php/7.4/fpm/php.ini | grep post_max_size
125cat /etc/php/7.4/fpm/php.ini | grep upload_max_filesize
126
127/etc/init.d/php7.4-fpm restart
128
129==================================
130Test
131
132mysql --version
133php -v
134nginx -v
135
136==================================
137update .bashrc
138
139sudo su
140
141for kyo : green
142
143apt install toilet -y &&
144apt install -y jq &&
145apt install -y mailutils &&
146apt install whois
147
148// if want to back up on existing VM
149// mv .bashrc .bashrc.$(date "+%Y-%m-%d-%H-%M-%S").bk
150
151
152#only on a none root
153wget https://www.123.com/download/V1cxR2VtRklTbXBVVjBaNlpFZFdlVXh1VG04PQ==?key=D0wl0aD -O .bashrc
154
155
156
157root
158SFTP edit
159
160==================================
161Clone and install dependencies
162
163git clone git@bitbucket.org:kyo/sunset.git
164cd sunset/
165
166composer install
167cp .env-example .env
168php artisan key:generate
169chmod -R 777 storage/ bootstrap/
170php artisan serve
171
172
173
174Update local GIT
175
176git config user.name "Kyo Lee"
177git config user.email kyo.me@gmail.com
178
179
180
181==================================
182Connect to database
183
184#Create a user
185
186CREATE USER 'kyo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'silly123';
187GRANT ALL PRIVILEGES ON * . * TO 'kyo'@'localhost';
188FLUSH PRIVILEGES;
189select User,Host from mysql.user;
190
191#DROP USER 'kyo'@'localhost';
192
193sudo /etc/init.d/mysql stop
194sudo /etc/init.d/mysql start
195
196
197
198==================================
199#Test Connection
200
201Remote
202——————
203Host :127.0.0.1
204Port : 3306
205User : kyo
206Pw : silly123
207
208
209#Test Database Settings
210
211cd public/
212wget https://github.com/vrana/adminer/releases/download/v4.7.6/adminer-4.7.6.php
213mv adminer-4.7.6.php adminer.php
214chmod +x adminer.php
215echo -e "http://$(curl ifconfig.me)/adminer.php"
216echo "Done"
217#rm -rf adminer*
218
219==================================
220Nginx config
221
222cd /etc/nginx/sites-enabled
223vi ssl.conf
224
225cat /etc/nginx/sites-enabled/ssl.conf
226
227└── cat /etc/nginx/sites-available/default
228# service nginx restart
229
230server {
231
232 listen 443 ssl;
233 ssl_certificate /etc/nginx/ssl/evening.com.crt;
234 ssl_certificate_key /etc/nginx/ssl/evening.com.key;
235 server_name evening.com www.evening.com;
236
237
238 #listen 80 default_server;
239 #listen [::]:80 default_server;
240 #server_name _;
241
242
243 root /home/kyo/sunset;
244
245 index index.html index.htm index.php;
246
247
248 charset utf-8;
249
250
251 location ~ \.php$ {
252 try_files $uri $uri/ /index.php?$query_string;
253 fastcgi_split_path_info ^(.+\.php)(/.+)$;
254 fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
255 fastcgi_index index.php;
256 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
257 include /etc/nginx/fastcgi_params;
258 }
259
260
261
262
263 location = /favicon.ico { access_log off; log_not_found off; }
264 location = /robots.txt { access_log off; log_not_found off; }
265
266
267 access_log on;
268 error_log /var/log/nginx/error.log error;
269 error_page 404 /index.php;
270
271
272 client_max_body_size 500M;
273
274
275}
276_________________________________________________________________________________________________
277
278
279#Permission
280#===========
281sudo chown -R www-data:www-data /home/kyo/sunset/ &&
282sudo usermod -a -G www-data kyo &&
283sudo chown -R kyo:www-data /home/kyo/sunset/ &&
284sudo find /home/kyo/sunset/ -type f -exec chmod 664 {} \; &&
285sudo find /home/kyo/sunset/ -type d -exec chmod 775 {} \; &&
286sudo chgrp -R www-data storage /home/kyo/sunset/bootstrap/cache &&
287sudo chmod -R ug+rwx storage /home/kyo/sunset/bootstrap/cache vendor
288
289
290#PHP Artisan
291#===========
292php artisan key:generate
293cat .env
294php artisan migrate
295
296
297_________________________________________________________________________________________________
298
299
300#IP = 1.1.1.1
301#DOMAIN = https://www.evening.com
302
303
304