forked from vaamonde/samba4-l2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript-18.sh
303 lines (273 loc) · 11.6 KB
/
script-18.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
#!/bin/bash
# Autor: Robson Vaamonde
# Site: www.procedimentosemti.com.br
# Facebook: facebook.com/ProcedimentosEmTI
# Facebook: facebook.com/BoraParaPratica
# YouTube: youtube.com/BoraParaPratica
# Data de criação: 31/05/2016
# Data de atualização: 30/12/2016
# Versão: 0.8
# Testado e homologado para a versão do Ubuntu Server 16.04 LTS x64
# Kernel >= 4.4.x
#
# Instalação do Wordpress para simulação de Sistema de ERP
# Criação de Base de Dados no MySQL
# Criação de Registros CNAME no DNS
# Criação do Virtual Host no Apache2
# Configuração do ProFTPD
#
# Utilizar o comando: sudo -i para executar o script
#
# Caminho para o Log do Script-18.sh
LOG="/var/log/script-18.log"
#
# Variável da Data Inicial para calcular tempo de execução do Script
DATAINICIAL=`date +%s`
#
# Validando o ambiente, verificando se o usuário e "root"
USUARIO=`id -u`
UBUNTU=`lsb_release -rs`
KERNEL=`uname -r | cut -d'.' -f1,2`
if [ "$USUARIO" == "0" ]
then
if [ "$UBUNTU" == "16.04" ]
then
if [ "$KERNEL" == "4.4" ]
then
clear
#
#Declarando as variaveis para o ambiente
ADMIN="administrator"
PASSWORD="pti@2016"
FQDN="`hostname`"
ZONE="`hostname -d`"
WORDPRESS="https://wordpress.org/latest.zip"
TAMANHO="8.0 MB"
#
echo -e "Usuário é `whoami`, continuando a executar o Script-18.sh"
echo
echo -e "Rodando o Script-18.sh em: `date`" > $LOG
echo -e "================================================================================="
echo -e " Instalação e Configuração do Sistema de ERP"
echo -e "================================================================================="
echo
echo -e "Criação dos CNAME: WWW, FTP, SSH e MYSQL no DNS do SAMBA4"
echo -e "Pressione <Enter> para criar os CNAME"
read
#Criando os CNAMES (apelidos) no DNS do SAMBA-4 utilizando o comando samba-tool
samba-tool dns add $FQDN $ZONE www CNAME $FQDN -U $ADMIN --password=$PASSWORD &>> $LOG
samba-tool dns add $FQDN $ZONE ftp CNAME $FQDN -U $ADMIN --password=$PASSWORD &>> $LOG
samba-tool dns add $FQDN $ZONE ssh CNAME $FQDN -U $ADMIN --password=$PASSWORD &>> $LOG
samba-tool dns add $FQDN $ZONE mysql CNAME $FQDN -U $ADMIN --password=$PASSWORD &>> $LOG
#Listando os CNAMEs (apelidos) criados no DNS do SAMBA-4 utilizando o comando samba-tool com filtro
echo
samba-tool dns query $FQDN $ZONE @ ALL -U $ADMIN --password=$PASSWORD | grep 'Name=[wfsm]'
echo
echo -e "Criação feita com sucesso!!!, pressione <Enter> para continuar com o script"
read
sleep 2
clear
echo -e "Download e instalação básica do Wordpress no servidor: `hostname`"
echo -e "Tamanho do arquivo: $TAMANHO, pressione <Enter> para continuar"
read
echo
echo -e "Fazendo o download do: $WORDPRESS aguarde..."
#Fazendo o download do arquivo do Wordpress
wget $WORDPRESS &>> $LOG
echo -e "Download feito com sucesso!!!"
sleep 2
echo
echo -e "Descompactando o arquivo latest.zip"
#Descompactando o arquivo do Wordpress
unzip latest.zip &>> $LOG
echo -e "Descompactação feita com sucesso!!!"
sleep 2
echo
echo -e "Copiando os arquivo do Wordpress para a pasta de sistema/erp"
#Movendo o contéudo da pasta do wordpress para o diretório erp
mv -v wordpress/ /arquivos/pti.intra/sistema/erp &>> $LOG
#Copiando o arquivo htaccess customizado
cp -v conf/htaccess /arquivos/pti.intra/sistema/erp/.htaccess &>> $LOG
#Copiando o arquivo de configuração wp-config.php
cp -v conf/wp-config.php /arquivos/pti.intra/sistema/erp/ &>> $LOG
echo -e "Arquivos copiados com sucesso!!!"
sleep 2
echo
echo -e "Alterando as permissões dos arquivos da pasta sistema/erp"
#Alterando as permissões de dono, grupo e outros recursivo no diretório erp
chmod -Rfv 755 /arquivos/pti.intra/sistema/erp &>> $LOG
#Alterando o dono é o grupo recursivo no diretório erp
chown -Rfv www-data.www-data /arquivos/pti.intra/sistema/erp &>> $LOG
echo -e "Permissões alteradas com sucesso!!!"
sleep 2
echo
echo -e "Removendo o arquivo latest.zip"
#Removendo o arquivo de download zipado do Wordpress
rm -v latest.zip >> $LOG
echo -e "Arquivo removido com sucesso!!!"
sleep 2
echo
echo -e "Instalação Básica do Wordpress feita com sucesso!!!, pressione <Enter> para continuar"
read
sleep 2
clear
echo -e "Criação da Base de Dados do Wordpress no servidor: `hostname`"
echo -e "Pressione <Enter> para continuar"
read
echo -e "Criando a base de dados do Wordpress e setando as permissões"
#Criando a variável da criação da Base de Dados do Wordpress
#Variaveis utilizada pelo MySQL para a criação do Bando de Dados
USER="root"
DATABASE="CREATE DATABASE wordpress;"
USERDATABASE="CREATE USER 'wordpress' IDENTIFIED BY 'wordpress';"
GRANTDATABASE="GRANT USAGE ON *.* TO 'wordpress' IDENTIFIED BY 'wordpress';"
GRANTALL="GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress';"
FLUSH="FLUSH PRIVILEGES;"
#Criando o Banco de Dados e setando as informações de usuários e senha utilizando o comando mysql
mysql -u $USER -p$PASSWORD -e "$DATABASE" mysql &>> $LOG
mysql -u $USER -p$PASSWORD -e "$USERDATABASE" mysql &>> $LOG
mysql -u $USER -p$PASSWORD -e "$GRANTDATABASE" mysql &>> $LOG
mysql -u $USER -p$PASSWORD -e "$GRANTALL" mysql &>> $LOG
mysql -u $USER -p$PASSWORD -e "$FLUSH" mysql &>> $LOG
echo -e "Base de dados do Wordpress criada com sucesso!!!"
sleep 2
echo
echo -e "Listando o Banco de Dados criado do Wordpress"
#Criando a variável para exibição da Base de Dados do Wordpress
SHOWSQL="SHOW DATABASES;"
echo
#Listando a Base de Dados criada do Wordpress
mysql -u $USER -p$PASSWORD -e "$SHOWSQL" mysql
echo
echo -e "Base de dados lista com sucesso!!!"
echo
echo -e "Criação da Base de Dados do Wordpress feita com sucesso!!!, pressione <Enter> para continuar"
read
sleep 2
clear
echo -e "Editando o arquivo de conexão com o Banco de Dados do Wordpress"
echo -e "Editando as variaveis do arquivos wp-config.php com as informações"
echo
echo -e "DB_NAME='wordpress' base de dados do MySQL"
echo -e "DB_USER='wordpress' usuário de conexão a bade de dados"
echo -e "DB_PASSWORD='wordpress' senha do usuário de conexão"
echo -e "DB_HOST='localhost' endereço do servidor, recomendado localhost"
echo -e "DB_CHARSET='utf8' configurações de caracteres"
echo -e "DB_COLLATE='' sem collate"
echo
echo -e "Pressione <Enter> para editar o arquivo: wp-config.php"
read
#Editando o arquivo de configuração wp-config.php
vim /arquivos/pti.intra/sistema/erp/wp-config.php +16
echo -e "Arquivo editado com sucesso!!!, pressione <Enter> para continuar"
read
sleep 2
clear
echo -e "Criando o Virtual Host no Apache2"
echo -e "Pressione <Enter> para criar é editar o arquivo do Virtual Host ERP"
read
sleep 2
echo -e "Atualizando o arquivo pti-intra.conf"
#Copiando o arquivo de configuração pti-intra.conf
cp -v conf/pti-intra.conf /etc/apache2/sites-available/ >> $LOG
echo -e "Arquivo atualizado com sucesso!!!"
sleep 2
echo
#Editando o arquivo de configuração pti-intra.conf
vim /etc/apache2/sites-available/pti-intra.conf +12
echo
echo -e "Ativando o Virtual Host no Apache2"
#Ativando o Virtual Host no Apache2 Server
a2ensite pti-intra.conf &>> $LOG
echo -e "Virtual Host ativado com sucesso!!!"
sleep 2
echo
echo -e "Reinicializando o Apache2"
#Reinicializando o serviço do Apache Server
sudo service apache2 restart &>> $LOG
echo -e "Reinicialização feita com sucesso!!!"
sleep 2
echo
echo -e "Arquivo editado com sucesso!!!, pressione <Enter> para testar o Apache2"
read
echo
apache2ctl -V
echo
echo -e "Finalização da configuração do Apache2 com sucesso!!!, pressione <Enter> para continuar."
read
sleep 2
clear
echo -e "Configuração do Servidor ProFTPD"
echo -e "Pressione <Enter> para editar o arquivos de configuração"
read
sleep 2
echo -e "Fazendo o backup do arquivo proftpd.conf"
#Fazendo o backup do arquivo de configuração proftpd.conf
mv -v /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.old >> $LOG
echo -e "Backup feito com sucesso!!!"
sleep 2
echo
echo -e "Atualizando o arquivo proftdp.conf"
#Copiando o arquivo de configuração do proftpd.conf
cp -v conf/proftpd.conf /etc/proftpd/ >> $LOG
echo -e "Arquivo atualizado com sucesso!!!"
sleep 2
echo
#Editando o arquivo de configuração do proftpd.conf
vim /etc/proftpd/proftpd.conf
echo
echo -e "Reinicializando o serviço do ProfFTPD"
#Reinicializando o serviço do ProFTPD Server
sudo service proftpd restart
echo -e "Serviço reinicializado com sucesso!!!"
sleep 2
echo
echo -e "Verificando as configurações do ProFTPD, pressione <Enter>"
read
echo
proftpd -t
echo
echo -e "Arquivo editado com sucesso!!!, pressione <Enter> para continuar"
read
sleep 2
clear
echo -e "Criando o usuário Wordpress com pasta base no sistema de ERP e Grupo www-data"
#Criando o usuário que será utilizado para acessar o FTP no servidor, utilizando o comando useradd
useradd -d /arquivos/pti.intra/sistema/erp -s /bin/bash -M wordpress -G www-data &>> $LOG
echo -e "Usuário criando com sucesso!!!, continuando o script"
sleep 2
echo
echo -e "Setando a senha para o usuário: wordpress - senha padrão: wordpress"
#Setando a senha padrão para o usuário wordpress com o comando passwd
echo -e "wordpress\nwordpress" | passwd wordpress &>> $LOG
echo -e "Senha setada com sucesso!!!, pressione <Enter> para continuar com o script"
read
sleep 2
clear
echo -e "Fim do Script-18.sh em: `date`" >> $LOG
echo -e " Finalização da instalação e Configuração do Sistema de ERP"
echo -e "================================================================================="
echo
# Script para calcular o tempo gasto para a execução do script-18.sh
DATAFINAL=`date +%s`
SOMA=`expr $DATAFINAL - $DATAINICIAL`
RESULTADO=`expr 10800 + $SOMA`
TEMPO=`date -d @$RESULTADO +%H:%M:%S`
echo -e "Tempo gasto para execução do script-18.sh: $TEMPO"
echo -e "Pressione <Enter> para concluir o processo."
read
else
echo -e "Versão do Kernel: $KERNEL não homologada para esse script, versão: >= 4.4 "
echo -e "Pressione <Enter> para finalizar o script"
read
fi
else
echo -e "Distribuição GNU/Linux: `lsb_release -is` não homologada para esse script, versão: $UBUNTU"
echo -e "Pressione <Enter> para finalizar o script"
read
fi
else
echo -e "Usuário não é ROOT, execute o comando com a opção: sudo -i <Enter> depois digite a senha do usuário `whoami`"
echo -e "Pressione <Enter> para finalizar o script"
read
fi