ERPNext14 » Historie » Version 12
Jeremias Keihsler, 16.02.2023 10:44
1 | 1 | Jeremias Keihsler | h1. ERPNext 14 |
---|---|---|---|
2 | |||
3 | h2. Bitnami based on Debian 11 |
||
4 | |||
5 | out of the box ERPNext is installed. This describes what else can/needs to be done: |
||
6 | |||
7 | h3. convert VirtualBox-ova to be used with KVM |
||
8 | |||
9 | untar @.ova@ |
||
10 | |||
11 | <pre><code class="shell"> |
||
12 | tar xvf bitnami-erpnext-14.11.0-0-linux-vm-debian-11-x86_64-nami.ova |
||
13 | </code></pre> |
||
14 | |||
15 | convert @.vmdk@ to @.qcow2@ while showing 'progress' |
||
16 | |||
17 | <pre><code class="shell"> |
||
18 | qemu-img convert -p -f vmdk -O qcow2 \ |
||
19 | bitnami-erpnext-14.11.0-0-linux-vm-debian-11-x86_64-nami-disk1.vmdk \ |
||
20 | bitnami-erpnext-14.11.0-0-linux-vm-debian-11-x86_64-nami-disk1.qcow2 |
||
21 | </code></pre> |
||
22 | |||
23 | this is a sample virsh dumpxml with a bridged interface |
||
24 | |||
25 | <pre><code class="xml"> |
||
26 | <domain type="kvm" id="7"> |
||
27 | 2 | Jeremias Keihsler | <name>bitnami_erpnext</name> |
28 | <uuid>acf57964-b3d8-4148-9391-b4552a72a32c</uuid> |
||
29 | <metadata> |
||
30 | <libosinfo:libosinfo> |
||
31 | <libosinfo:os id="http://debian.org/debian/11"/> |
||
32 | </libosinfo:libosinfo> |
||
33 | </metadata> |
||
34 | <memory unit="KiB">4194304</memory> |
||
35 | <currentMemory unit="KiB">4194304</currentMemory> |
||
36 | <vcpu placement="static">2</vcpu> |
||
37 | <resource> |
||
38 | <partition>/machine</partition> |
||
39 | </resource> |
||
40 | <os> |
||
41 | <type arch="x86_64" machine="pc-i440fx-rhel7.0.0">hvm</type> |
||
42 | <boot dev="hd"/> |
||
43 | <bootmenu enable="yes"/> |
||
44 | </os> |
||
45 | <features> |
||
46 | <acpi/> |
||
47 | <apic/> |
||
48 | </features> |
||
49 | <cpu mode="host-passthrough" check="none"> |
||
50 | <topology sockets="1" cores="1" threads="2"/> |
||
51 | </cpu> |
||
52 | <clock offset="utc"> |
||
53 | <timer name="rtc" tickpolicy="catchup"/> |
||
54 | <timer name="pit" tickpolicy="delay"/> |
||
55 | <timer name="hpet" present="no"/> |
||
56 | </clock> |
||
57 | <on_poweroff>destroy</on_poweroff> |
||
58 | <on_reboot>restart</on_reboot> |
||
59 | <on_crash>destroy</on_crash> |
||
60 | <pm> |
||
61 | <suspend-to-mem enabled="no"/> |
||
62 | <suspend-to-disk enabled="no"/> |
||
63 | </pm> |
||
64 | <devices> |
||
65 | <emulator>/usr/libexec/qemu-kvm</emulator> |
||
66 | <disk type="file" device="disk"> |
||
67 | <driver name="qemu" type="qcow2"/> |
||
68 | <source file="/../libvirt/images/bitnami-erpnext-14.11.0-0-linux-vm-debian-11-x86_64-nami-disk1.qcow2"/> |
||
69 | <backingStore/> |
||
70 | <target dev="vdb" bus="virtio"/> |
||
71 | <alias name="virtio-disk1"/> |
||
72 | <address type="pci" domain="0x0000" bus="0x00" slot="0x0b" function="0x0"/> |
||
73 | </disk> |
||
74 | <controller type="usb" index="0" model="ich9-ehci1"> |
||
75 | <alias name="usb"/> |
||
76 | <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x7"/> |
||
77 | </controller> |
||
78 | <controller type="usb" index="0" model="ich9-uhci1"> |
||
79 | <alias name="usb"/> |
||
80 | <master startport="0"/> |
||
81 | <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x0" multifunction="on"/> |
||
82 | </controller> |
||
83 | <controller type="usb" index="0" model="ich9-uhci2"> |
||
84 | <alias name="usb"/> |
||
85 | <master startport="2"/> |
||
86 | <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x1"/> |
||
87 | </controller> |
||
88 | <controller type="usb" index="0" model="ich9-uhci3"> |
||
89 | <alias name="usb"/> |
||
90 | <master startport="4"/> |
||
91 | <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x2"/> |
||
92 | </controller> |
||
93 | <controller type="pci" index="0" model="pci-root"> |
||
94 | <alias name="pci.0"/> |
||
95 | </controller> |
||
96 | <controller type="virtio-serial" index="0"> |
||
97 | <alias name="virtio-serial0"/> |
||
98 | <address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0"/> |
||
99 | </controller> |
||
100 | <controller type="scsi" index="0" model="virtio-scsi"> |
||
101 | <alias name="scsi0"/> |
||
102 | <address type="pci" domain="0x0000" bus="0x00" slot="0x0a" function="0x0"/> |
||
103 | </controller> |
||
104 | <interface type="bridge"> |
||
105 | <mac address="52:54:00:29:00:87"/> |
||
106 | <source bridge="br0"/> |
||
107 | <target dev="vnet1"/> |
||
108 | <model type="virtio"/> |
||
109 | <alias name="net0"/> |
||
110 | <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/> |
||
111 | </interface> |
||
112 | <serial type="pty"> |
||
113 | <source path="/dev/pts/9"/> |
||
114 | <target type="isa-serial" port="0"> |
||
115 | <model name="isa-serial"/> |
||
116 | </target> |
||
117 | <alias name="serial0"/> |
||
118 | </serial> |
||
119 | <console type="pty" tty="/dev/pts/9"> |
||
120 | <source path="/dev/pts/9"/> |
||
121 | <target type="serial" port="0"/> |
||
122 | <alias name="serial0"/> |
||
123 | </console> |
||
124 | <channel type="unix"> |
||
125 | <source mode="bind" path="/var/lib/libvirt/qemu/channel/target/domain-7-bitnami_erpnext/org.qemu.guest_agent.0"/> |
||
126 | <target type="virtio" name="org.qemu.guest_agent.0" state="disconnected"/> |
||
127 | <alias name="channel0"/> |
||
128 | <address type="virtio-serial" controller="0" bus="0" port="1"/> |
||
129 | </channel> |
||
130 | <channel type="spicevmc"> |
||
131 | <target type="virtio" name="com.redhat.spice.0" state="disconnected"/> |
||
132 | <alias name="channel1"/> |
||
133 | <address type="virtio-serial" controller="0" bus="0" port="2"/> |
||
134 | </channel> |
||
135 | <input type="tablet" bus="usb"> |
||
136 | <alias name="input0"/> |
||
137 | <address type="usb" bus="0" port="1"/> |
||
138 | </input> |
||
139 | <input type="mouse" bus="ps2"> |
||
140 | <alias name="input1"/> |
||
141 | </input> |
||
142 | <input type="keyboard" bus="ps2"> |
||
143 | <alias name="input2"/> |
||
144 | </input> |
||
145 | <graphics type="spice" port="5901" autoport="yes" listen="127.0.0.1"> |
||
146 | <listen type="address" address="127.0.0.1"/> |
||
147 | </graphics> |
||
148 | <sound model="ich6"> |
||
149 | <alias name="sound0"/> |
||
150 | <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0"/> |
||
151 | </sound> |
||
152 | <video> |
||
153 | <model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/> |
||
154 | <alias name="video0"/> |
||
155 | <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/> |
||
156 | </video> |
||
157 | <redirdev bus="usb" type="spicevmc"> |
||
158 | <alias name="redir0"/> |
||
159 | <address type="usb" bus="0" port="2"/> |
||
160 | </redirdev> |
||
161 | <redirdev bus="usb" type="spicevmc"> |
||
162 | <alias name="redir1"/> |
||
163 | <address type="usb" bus="0" port="3"/> |
||
164 | </redirdev> |
||
165 | <memballoon model="virtio"> |
||
166 | <alias name="balloon0"/> |
||
167 | <address type="pci" domain="0x0000" bus="0x00" slot="0x08" function="0x0"/> |
||
168 | </memballoon> |
||
169 | <rng model="virtio"> |
||
170 | <backend model="random">/dev/urandom</backend> |
||
171 | <alias name="rng0"/> |
||
172 | <address type="pci" domain="0x0000" bus="0x00" slot="0x09" function="0x0"/> |
||
173 | </rng> |
||
174 | </devices> |
||
175 | <seclabel type="dynamic" model="selinux" relabel="yes"> |
||
176 | <label>system_u:system_r:svirt_t:s0:c328,c377</label> |
||
177 | <imagelabel>system_u:object_r:svirt_image_t:s0:c328,c377</imagelabel> |
||
178 | </seclabel> |
||
179 | <seclabel type="dynamic" model="dac" relabel="yes"> |
||
180 | <label>+107:+107</label> |
||
181 | <imagelabel>+107:+107</imagelabel> |
||
182 | </seclabel> |
||
183 | 1 | Jeremias Keihsler | </domain> |
184 | </code></pre> |
||
185 | |||
186 | 12 | Jeremias Keihsler | h3. set static IP address |
187 | |||
188 | taken from https://docs.bitnami.com/virtual-machine/faq/configuration/configure-static-address/ |
||
189 | |||
190 | check link and current IPs |
||
191 | |||
192 | <pre><code class="shell"> |
||
193 | sudo ifconfig |
||
194 | </code></pre> |
||
195 | |||
196 | <pre><code class="shell"> |
||
197 | cd /etc/systemd/network |
||
198 | sudo touch 25-wired.network |
||
199 | </code></pre> |
||
200 | |||
201 | add following lines |
||
202 | |||
203 | <pre> |
||
204 | [Match] |
||
205 | Name=enp0s3 |
||
206 | |||
207 | [Network] |
||
208 | Address=HOST-IP-ADDRESS |
||
209 | Gateway=GATEWAY-IP-ADDRESS |
||
210 | </pre> |
||
211 | |||
212 | restart service |
||
213 | |||
214 | <pre><code class="shell"> |
||
215 | sudo systemctl restart systemd-networkd.service |
||
216 | </code></pre> |
||
217 | |||
218 | 2 | Jeremias Keihsler | h3. activate SSH-Server |
219 | 1 | Jeremias Keihsler | |
220 | 2 | Jeremias Keihsler | taken from https://docs.bitnami.com/virtual-machine/faq/get-started/enable-ssh/ |
221 | 1 | Jeremias Keihsler | |
222 | 2 | Jeremias Keihsler | <pre><code class="shell"> |
223 | sudo rm -f /etc/ssh/sshd_not_to_be_run |
||
224 | sudo systemctl enable ssh |
||
225 | sudo systemctl start ssh |
||
226 | </code></pre> |
||
227 | 1 | Jeremias Keihsler | |
228 | 3 | Jeremias Keihsler | h3. ... password-based SSH auth (are you serious?) |
229 | |||
230 | maybe ok for testing .. |
||
231 | taken from https://docs.bitnami.com/virtual-machine/faq/get-started/enable-ssh-password/ |
||
232 | |||
233 | edit @/etc/ssh/sshd_config@ and add/modify the following line |
||
234 | |||
235 | <pre><code class="shell"> |
||
236 | PasswordAuthentication yes |
||
237 | </code></pre> |
||
238 | |||
239 | restart SSH server |
||
240 | |||
241 | <pre><code class="shell"> |
||
242 | sudo /etc/init.d/ssh force-reload |
||
243 | sudo /etc/init.d/ssh restart |
||
244 | </code></pre> |
||
245 | |||
246 | 4 | Jeremias Keihsler | h3. modify keyboard layout |
247 | |||
248 | taken from https://docs.bitnami.com/virtual-machine/faq/configuration/configure-keyboard/ |
||
249 | |||
250 | <pre><code class="shell"> |
||
251 | sudo apt-get install keyboard-configuration console-setup |
||
252 | sudo dpkg-reconfigure keyboard-configuration |
||
253 | sudo systemctl restart keyboard-setup |
||
254 | </code></pre> |
||
255 | |||
256 | 5 | Jeremias Keihsler | h3. alias ll |
257 | |||
258 | 6 | Jeremias Keihsler | for everyone .. taken from https://www.server-world.info/en/note?os=Debian_11&p=initial_conf&f=2 |
259 | |||
260 | 5 | Jeremias Keihsler | <pre><code class="shell"> |
261 | sudo vim /etc/profile.d/command_alias.sh |
||
262 | </code></pre> |
||
263 | |||
264 | <pre> |
||
265 | # create new file |
||
266 | # add alias you'd like to set |
||
267 | alias ll='ls $LS_OPTIONS -l' |
||
268 | # alias l='ls $LS_OPTIONS -lA' |
||
269 | # alias rm='rm -i' |
||
270 | # alias cp='cp -i' |
||
271 | # alias mv='mv -i' |
||
272 | </pre> |
||
273 | |||
274 | <pre><code class="shell"> |
||
275 | source /etc/profile.d/command_alias.sh |
||
276 | </code></pre> |
||
277 | |||
278 | 7 | Jeremias Keihsler | h3. migrate ERPNext to new server |
279 | 1 | Jeremias Keihsler | |
280 | 7 | Jeremias Keihsler | h4. backup |
281 | |||
282 | 5 | Jeremias Keihsler | <pre><code class="shell"> |
283 | cd /opt/bitnami/erpnext/frappe-bench |
||
284 | 1 | Jeremias Keihsler | bench backup-all-sites |
285 | 7 | Jeremias Keihsler | </code></pre> |
286 | |||
287 | files are saved very deep |
||
288 | |||
289 | <pre><code class="shell"> |
||
290 | cd /opt/bitnami/erpnext/frappe-bench/sites/erpnext/private/backups/ |
||
291 | </code></pre> |
||
292 | |||
293 | h4. restore |
||
294 | |||
295 | copy files to new server into @/home/bitnami@ |
||
296 | |||
297 | <pre><code class="shell"> |
||
298 | gunzip yyyymmdd_hhmmss-erpnext-database.sql.gz |
||
299 | </code></pre> |
||
300 | |||
301 | 1 | Jeremias Keihsler | connect to MariaDB (password is the same as application-password) |
302 | 8 | Jeremias Keihsler | taken from https://docs.bitnami.com/general/apps/erpnext/get-started/connect-mariadb/ |
303 | 7 | Jeremias Keihsler | |
304 | <pre><code class="shell"> |
||
305 | mysql -u root -p |
||
306 | </code></pre> |
||
307 | |||
308 | 1 | Jeremias Keihsler | <pre><code class="sql"> |
309 | DROP DATABASE bitnami_erpnext; |
||
310 | 8 | Jeremias Keihsler | \q |
311 | </code></pre> |
||
312 | |||
313 | 9 | Jeremias Keihsler | *as of 2023-02-07 restore seems not to work following the instructions* |
314 | |||
315 | 8 | Jeremias Keihsler | <pre><code class="shell"> |
316 | cd /opt/bitnami/erpnext/frappe-bench/ |
||
317 | 5 | Jeremias Keihsler | bench restore /home/bitnami |
318 | </code></pre> |
||
319 | 1 | Jeremias Keihsler | |
320 | h2. vanilla install based on Ubuntu |
||
321 | 10 | Jeremias Keihsler | |
322 | 11 | Jeremias Keihsler | h3. backup and load into test-site |
323 | 10 | Jeremias Keihsler | |
324 | To create a staging site from a production site backup: |
||
325 | |||
326 | <pre><code class="shell"> |
||
327 | cd <frappe/erpnext Verzeichnis> |
||
328 | mkdir ~/backup/ |
||
329 | |||
330 | bench --site prod.example.net set-maintenance-mode on |
||
331 | bench --site prod.example.net set-config pause_scheduler 1 |
||
332 | bench --site prod.example.net backup --with-files --compress --backup-path ~/backup/ |
||
333 | # notice: Database Public & Private from stdout |
||
334 | bench --site prod.example.net set-maintenance-mode off |
||
335 | |||
336 | restore into other Staging instance: |
||
337 | |||
338 | bench new-site staging.example.net |
||
339 | bench --site staging.example.net set-maintenance-mode on |
||
340 | |||
341 | bench --site staging.example.net restore ~/backup/YYYYMMDD_HHMMSS-prod.example.net-database.sql.gz |
||
342 | --with-public-files ~/backup/YYYYMMDD_HHMMSS-prod.example.net-files.tar.gz |
||
343 | --with-private-files ~/backup/YYYYMMDD_HHMMSS-prod.example.net-private-files.tar.gz |
||
344 | MySQL root password: |
||
345 | |||
346 | bench --site staging.example.net mute_emails true |
||
347 | bench --site staging.example.net set-maintenance-mode off |
||
348 | rm -r ~/backup/ |
||
349 | </code></pre> |