Projekt

Allgemein

Profil

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>