Setup erpnext14 » Historie » Version 4
Jeremias Keihsler, 17.10.2023 11:50
1 | 1 | Jeremias Keihsler | h1. Setup erpnext14 |
---|---|---|---|
2 | |||
3 | <pre><code class="shell"> |
||
4 | 2 | David Ayers | # install Ubuntu Server |
5 | # German |
||
6 | # German no dead keys |
||
7 | # Ubuntu Server |
||
8 | # enp1s0: |
||
9 | # <static net>/<net> |
||
10 | # <static IP> |
||
11 | # <static gateway> |
||
12 | # <dns IP 1>,<dns IP 2>,<dns IP 3> |
||
13 | # -with LVM full disk |
||
14 | # <hostname> |
||
15 | # frappe <SecretPassword> |
||
16 | # Install openssh server |
||
17 | # Retrieve SSH key from Launchpad |
||
18 | # Do not allow password |
||
19 | |||
20 | sudo apt update |
||
21 | sudo apt full-upgrade |
||
22 | # unattended-upgrades.service |
||
23 | |||
24 | 1 | Jeremias Keihsler | sudoedit /etc/hosts |
25 | 2 | David Ayers | # add line |
26 | # <static IP> <hostname.domain> |
||
27 | |||
28 | sudo apt install etckeeper |
||
29 | sudo git config --global --edit |
||
30 | # name = root |
||
31 | # email = <hostname.domain> |
||
32 | |||
33 | # my personal prefrences |
||
34 | 1 | Jeremias Keihsler | sudo apt install emacs-nox |
35 | export EDITOR=emacs |
||
36 | 2 | David Ayers | |
37 | sudoedit /etc/inputrc |
||
38 | # "\e[5~": history-search-backward |
||
39 | # "\e[6~": history-search-forward |
||
40 | |||
41 | # setup core services |
||
42 | sudo apt install locate aptitude apticron fail2ban rkhunter chkrootkit |
||
43 | logwatch atop nmap arp-scan arping |
||
44 | # Postfix als Satellitensystem einrichten |
||
45 | # <hostname>.<domain> |
||
46 | # <smtp-relay>.<domain> |
||
47 | |||
48 | 1 | Jeremias Keihsler | sudoedit /etc/aliases |
49 | 2 | David Ayers | #root: noc@domain |
50 | #alert: alert@domain |
||
51 | sudo newaliases |
||
52 | |||
53 | sudoedit /etc/postfix/generic |
||
54 | #root@<hostname>.<domain> noc@domain |
||
55 | #frappe@<hostname>.<domain> noc@domain |
||
56 | |||
57 | 1 | Jeremias Keihsler | sudoedit /etc/postfix/main.cf |
58 | 2 | David Ayers | # smtp_generic_maps = hash:/etc/postfix/generic |
59 | |||
60 | 1 | Jeremias Keihsler | sudo postmap /etc/postfix/generic |
61 | 2 | David Ayers | |
62 | |||
63 | 1 | Jeremias Keihsler | sudo apt install backup-manager |
64 | 2 | David Ayers | # /var/archives |
65 | # /etc /home/frappe /usr/local /var/backups |
||
66 | |||
67 | sudoedit /etc/ssh/sshd_config |
||
68 | #PermitRootLogin prohibit-password |
||
69 | |||
70 | |||
71 | 1 | Jeremias Keihsler | sudoedit /etc/rkhunter.conf |
72 | 2 | David Ayers | # MAIL-ON-WARNING=alert |
73 | # ALLOW_SSH_ROOT_USER=prohibit-password |
||
74 | # SCRIPTWHITELIST=/usr/bin/lwp-request |
||
75 | # ALLOWHIDDENDIR=/etc/.git |
||
76 | # ALLOWHIDDENFILE=/etc/.gitignore |
||
77 | # ALLOWHIDDENFILE=/etc/.etckeeper |
||
78 | 1 | Jeremias Keihsler | sudo rkhunter --propupd |
79 | sudo rkhunter --check --sk |
||
80 | 2 | David Ayers | |
81 | |||
82 | 1 | Jeremias Keihsler | |
83 | # ERPnext |
||
84 | 3 | David Ayers | # based on https://discuss.erpnext.com/t/erpnext-14-installation-development-productions-ubuntu-server-22-04/92922 |
85 | |||
86 | 1 | Jeremias Keihsler | sudo ufw allow 22,25,143,80,443,3306,3022,8000/tcp |
87 | sudo ufw enable |
||
88 | 2 | David Ayers | |
89 | sudo apt install python3-minimal build-essential python3-setuptools |
||
90 | sudo apt install python3-dev python3.10-dev python3-setuptools python3- |
||
91 | pip python3-distutils redis-server |
||
92 | 1 | Jeremias Keihsler | sudo apt install python3.10-venv |
93 | 2 | David Ayers | sudo apt update |
94 | |||
95 | 1 | Jeremias Keihsler | sudo apt install xvfb libfontconfig wkhtmltopdf |
96 | 2 | David Ayers | |
97 | sudo passwd root |
||
98 | |||
99 | sudo apt install mariadb-server mariadb-client |
||
100 | sudo mysql_secure_installation |
||
101 | # pwd |
||
102 | # Switch to unix_socket authentication: Y |
||
103 | # Change the root password? [Y/n] y |
||
104 | # password: pwd |
||
105 | # Remove anonymous users? [Y/n] y |
||
106 | # Disallow root login remotely? [Y/n] y |
||
107 | # Remove test database and access to it? [Y/n] y |
||
108 | |||
109 | # Reload privilege tables now? [Y/n] y |
||
110 | |||
111 | mysql -u root -p |
||
112 | ALTER USER root@localhost IDENTIFIED VIA mysql_native_password; |
||
113 | SET PASSWORD = PASSWORD(‘pwd’); |
||
114 | FLUSH PRIVILEGES; |
||
115 | quit |
||
116 | rm .mysql_history |
||
117 | |||
118 | 3 | David Ayers | sudoedit /etc/mysql/mariadb.conf.d/90-erpnext.cnf |
119 | 2 | David Ayers | #[mysqld] |
120 | #character-set-client-handshake = FALSE |
||
121 | #character-set-server = utf8mb4 |
||
122 | #collation-server = utf8mb4_unicode_ci |
||
123 | |||
124 | 1 | Jeremias Keihsler | #[mysql] |
125 | 2 | David Ayers | #default-character-set = utf8mb4 |
126 | |||
127 | 3 | David Ayers | |
128 | 2 | David Ayers | sudo reboot |
129 | |||
130 | 3 | David Ayers | # NODE JS & NPM |
131 | 2 | David Ayers | wget https://deb.nodesource.com/setup_16.x |
132 | less setup_16.x |
||
133 | # Wow... add someones key to be trusted by system apt to install nodejs :-/ not cool but lets just get done. |
||
134 | chmod +x setup_16.x |
||
135 | sudo -E setup_16.x |
||
136 | sudo apt install nodejs |
||
137 | |||
138 | cd |
||
139 | tee -a ~/.bashrc<<EOF |
||
140 | PATH=$PATH:~/.local/bin/ |
||
141 | 1 | Jeremias Keihsler | EOF |
142 | 2 | David Ayers | source ~/.bashrc |
143 | |||
144 | 3 | David Ayers | # BENCH DIRECTORY |
145 | 2 | David Ayers | sudo mkdir /home/bench |
146 | sudo chown -R frappe /home/bench |
||
147 | 1 | Jeremias Keihsler | cd /home/bench |
148 | 2 | David Ayers | sudo npm install -g yarn |
149 | 1 | Jeremias Keihsler | |
150 | 3 | David Ayers | # FRAPPE |
151 | 1 | Jeremias Keihsler | pip3 install frappe-bench |
152 | 3 | David Ayers | bench init frappe --verbose --frappe-branch v14.4.3 #https://github.com/frappe/frappe/tags |
153 | 1 | Jeremias Keihsler | cd frappe |
154 | 3 | David Ayers | bench start |
155 | 1 | Jeremias Keihsler | |
156 | 3 | David Ayers | # SITE CREATION |
157 | cd /home/bench/frappe |
||
158 | bench new-site <hostname>.<domain> |
||
159 | bench use <hostname>.<domain> |
||
160 | bench migrate |
||
161 | 4 | Jeremias Keihsler | </code></pre> |
162 | 2 | David Ayers | |
163 | 4 | Jeremias Keihsler | h3. backup and load into test-site |
164 | 2 | David Ayers | |
165 | 4 | Jeremias Keihsler | also have a look at: https://www.it-management-kirchberger.at/manuals-tutorials/server-centos-7/erpnext/todo.html |
166 | 1 | Jeremias Keihsler | |
167 | 4 | Jeremias Keihsler | To create a staging site from a production site backup: |
168 | |||
169 | <pre><code class="shell"> |
||
170 | cd <frappe/erpnext Verzeichnis> |
||
171 | mkdir ~/backup/ |
||
172 | |||
173 | bench --site prod.example.net set-maintenance-mode on |
||
174 | bench --site prod.example.net set-config pause_scheduler 1 |
||
175 | bench --site prod.example.net backup --with-files --compress --backup-path ~/backup/ |
||
176 | # notice: Database Public & Private from stdout |
||
177 | bench --site prod.example.net set-maintenance-mode off |
||
178 | |||
179 | restore into other Staging instance: |
||
180 | |||
181 | bench new-site staging.example.net |
||
182 | bench --site staging.example.net set-maintenance-mode on |
||
183 | |||
184 | bench --site staging.example.net restore ~/backup/YYYYMMDD_HHMMSS-prod.example.net-database.sql.gz |
||
185 | --with-public-files ~/backup/YYYYMMDD_HHMMSS-prod.example.net-files.tar.gz |
||
186 | --with-private-files ~/backup/YYYYMMDD_HHMMSS-prod.example.net-private-files.tar.gz |
||
187 | MySQL root password: |
||
188 | |||
189 | bench --site staging.example.net mute_emails true |
||
190 | bench --site staging.example.net set-maintenance-mode off |
||
191 | rm -r ~/backup/ |
||
192 | 1 | Jeremias Keihsler | </code></pre> |