forked from GNUWorldChannel/CentOS-RedHat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GNUWorld
250 lines (185 loc) · 10.2 KB
/
GNUWorld
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
____ _ _ _ ___ __ _ _
/ ___| \ | | | | \ \ / /__ | |_ __ __| |
| | _| \| | | | |\ \ /\ / / _ \| | '__/ _` |
| |_| | |\ | |_| | \ V V / (_) | | | | (_| |
The \____|_| \_|\___/ \_/\_/ \___/|_|_| \__,_| Guide #3
------------------------------------------------------------
OS SUPPORT: CentOS 8.1-131911.0.8.el8.x86_64
[ by: ARI3L | y2k ]
------------------------------------------------------------
#1 - Prepare the system by installing the necessary components. (tcl-dev, net-tools, libpqxx-dev)
[root@irc ~]# yum install net-tools mlocate
#2 - Check if you have TCL installed.
[root@irc ~]# /usr/bin/updatedb
[root@irc ~]# locate tclConfig.sh
/usr/lib64/tclConfig.sh
/usr/lib64/tcl8.6/tclConfig.sh
[root@irc ~]#
#3 - If you dont got install TCL this is the next step.
NOTE: You got install tcl-devel on pre-requisites, but dont jump this step!!
[root@irc ~]# git clone https://github.com/Shadowss/tcl8.4.13-src
[root@irc ~]# cd tcl8.4.13-src/unix/
[root@irc unix]# chmod +x configure
[root@irc unix]# ./configure
[root@irc unix]# make
[root@irc unix]# make install
[root@irc unix]# cd ..
[root@irc tcl8.4.13-src]# cd ..
[root@irc ~]# ln -s /usr/local/lib/tclConfig.sh/usr/lib
#4 - Install POSTGRESQL for sql manipulation.
NOTE: we dont recoment yum install : SO PLEASE! DONT!
[root@irc ~]# wget https://coder-com.universalnet.org/packages/postgresql-10.2.tar.gz
[root@irc ~]# tar -zxvf postgresql-10.2.tar.gz
[root@irc ~]# cd postgresql-10.2/
[root@irc postgresql-10.2]#
[root@irc postgresql-10.2]# chmod +x configure
[root@irc postgresql-10.2]# ./configure --with-CXX --enable-multibyte --with-tclconfig=/usr/lib --without-tk --without-readline --without-zlib
[root@irc postgresql-10.2]# make
[root@irc postgresql-10.2]# make install
[root@irc postgresql-10.2]# nano /etc/ld.so.conf
[root@irc postgresql-10.2]# cd
[root@irc ~]#
NOTE: In this file you need to add this line: /usr/local/pgsql/lib
NOTE: Remember to save file. Crt + X , Y + Intro
#5 - Install PGTCL1.5
[root@irc ~]# git clone https://github.com/Shadowss/pgtcl1.5.git
[root@irc ~]# cd pgtcl1.5
[root@irc pgtcl1.5]# export PG_CONFIG=/usr/local/pgsql/bin/pg_config
[root@irc pgtcl1.5]#
[root@irc pgtcl1.5]# chmod +x configure
[root@irc pgtcl1.5]# ./configure --enable-modules=ccontrol,cservice,openchanfix --with-pgsql-home=/usr/local/pgsql --with-extra-includes=/usr/include/postgresql/
[root@irc pgtcl1.5]# make
root@ircd:~/pgtcl1.5# cd generic/
root@ircd:~/pgtcl1.5/generic# nano pgtclAppInit.c
NOTE: This file only need to edit the <> on this part: <libpgtcl.h> change to "libpgtcl.h"
NOTE: Remember to save file. Crt + X , Y + Intro
NOTE: This script got a TRICK!! going to show a Error with:
/usr/bin/install: cannot stat `./doc/*.n': No such file or directory
NOTE: So make sure you create first! for this error dont display!
NOTE: Some people like to use touch or mkdir, but we recoment nano with the next trick!! :)
[root@irc pgtcl1.5]# nano ./doc/*.n
NOTE: nano ./doc/*.n (Inside that file, just write a [A] and erase all!! make sure the file is empty.
NOTE: Close Editor and going to ask for save! say YES)
NOTE: Remember to save file. Crt + X , Y + Intro
root@ircd:~/pgtcl1.5/generic# cd ..
[root@irc pgtcl1.5]# make pgtclsh
[root@irc pgtcl1.5]# make install
[root@irc pgtcl1.5]# mv pgtclsh /usr/local/pgsql/bin
[root@irc pgtcl1.5]# mv libpgtcl1.5.so /usr/local/pgsql/lib
[root@irc pgtcl1.5]# updatedb
[root@irc pgtcl1.5]# ldconfig
#6 - Now we are going to crate DATABASE !
[root@irc pgtcl1.5]# cd ..
[root@irc ~]# mkdir /usr/local/pgsql/data
[root@irc ~]# chown gnuworld.gnuworld /usr/local/pgsql/data
[root@irc ~]# su - gnuworld
[gnuworld@irc ~]$
[gnuworld@irc ~]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
NOTE: In some case the script going to show you the command for start!!
NOTE: If this is not correct! and the script dont show msg command: /usr/local/pgsql/bin/postmaster -B 64 -N 32 -i -D /usr/local/pgsql/data -o -F -h 127.0.0.1 >/dev/null 2>&1 &
CHECK NOTES!! For this --> [gnuworld@irc ~]$/usr/local/pgsql/bin/postmaster -B 64 -N 32 -i -D /usr/local/pgsql/data -o -F -h 127.0.0.1 >/dev/null 2>&1 &
NOTE: Now we got the pgsql system running and working perfect!
NOTE: If sql start all good!! Exit!
[gnuworld@irc ~]$ exit
#7 - Now We going to download the GNUWorld!
[root@irc ~]#
[root@irc ~]# su - gnuworld
[gnuworld@irc ~]$
[gnuworld@irc ~]$ git clone https://github.com/UndernetIRC/gnuworld.git
[gnuworld@irc ~]$ cd gnuworld/
[gnuworld@irc gnuworld]$
[gnuworld@irc gnuworld]$ pwd
/home/gnuworld/gnuworld <-- We are in the GNUWORLD folder! Inside the gnuworld USER.
[gnuworld@irc gnuworld]$
[gnuworld@irc gnuworld]$ chmod +x configure
[gnuworld@irc gnuworld]$ ./configure --enable-modules=ccontrol,cservice,openchanfix --with-pgsql-home=/usr/local/pgsql --with-extra-includes=/usr/include/postgresql/
[gnuworld@irc gnuworld]$ cd mod.cservice
[gnuworld@irc mod.cservice]$
nano cservice_config.h
(we will enable features and change some config.)
change: #undef USE_NEWPASS by #define USE_NEWPASS
change: #undef ALLOW_HELLO by #define ALLOW_HELLO
change: #define IPR_DEFAULT_REJECT by #undef IPR_DEFAULT_REJECT
NOTE: Those are mandatory if you won´t install cservice site. Once modified you save it CTRL+O & X)
[gnuworld@irc mod.cservice]$ cd ..
[gnuworld@irc gnuworld]$ <-- We are here again.
[gnuworld@irc gnuworld]$ make
[gnuworld@irc gnuworld]$ make install
NOTE: NOW we going to create SQL and import .sql files inside the database!
NOTE: In this step we still in the dir: /home/gnuworld/gnuworld NOW going to enter in the same dir in DOC directory.
[gnuworld@irc gnuworld]$ cd doc/
[gnuworld@irc doc]$
[gnuworld@irc doc]$ pwd
/home/gnuworld/gnuworld/doc
[gnuworld@irc doc]$
NOTE: Have to create STEP BY STEP!! or not going to work!
NOTE: Some people like to edit the cservice.addme.sql for a New user (Admin + md5 password.)
NOTE: If you stay in the default version you are going to login with:
User: Admin
Pass: temPass
NOTE: You can edit this info or not!
NOTE: If you edit. cservice.addme.sql User and change from Admin to custom user.
You have to edit. chanfix.addme.sql, cservice.addme.sql, ccontrol.addme.sql
(Use nano): nano chanfix.addme.sql
(Use nano): nano cservice.addme.sql
(Use nano): nano ccontrol.addme.sql
NOTE: Create CSERVICE SQL.
[gnuworld@irc doc]$ /usr/local/pgsql/bin/createdb --template=template0 -E=SQL_ASCII cservice
NOTE: Import .sql Files in DB.
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql cservice < cservice.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql cservice < cservice.config.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql cservice < languages.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql cservice < language_table.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql cservice < greeting.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql cservice < cservice.help.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql cservice < cservice.web.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql cservice < cservice.addme.sql
NOTE: Create Cservice WEB SQL.
[gnuworld@irc doc]$ /usr/local/pgsql/bin/createdb local_db
NOTE: Import .sql Files in DB.
/usr/local/pgsql/bin/psql local_db < local_db.sql
NOTE: Create CCONTROL SQL.
[gnuworld@irc doc]$ /usr/local/pgsql/bin/createdb --template=template0 -E=SQL_ASCII ccontrol
NOTE: Import .sql Files in DB.
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql ccontrol < ccontrol.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql ccontrol < ccontrol.help.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql ccontrol < ccontrol.addme.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql ccontrol < ccontrol.commands.sql
NOTE: Now we going to move to other directory url.
[gnuworld@irc doc]$ cd ../mod.openchanfix/doc/
[gnuworld@irc doc]$ pwd
/home/gnuworld/gnuworld/mod.openchanfix/doc <-- NOTE: We are in this directory now! Make sure is the same!
[gnuworld@irc doc]$
[gnuworld@irc doc]$ /usr/local/pgsql/bin/createdb chanfix
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql chanfix < chanfix.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql chanfix < chanfix.languages.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql chanfix < chanfix.language.english.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql chanfix < chanfix.help.sql
[gnuworld@irc doc]$ /usr/local/pgsql/bin/psql chanfix < chanfix.addme.sql
NOTE: NOW we got all SQL DB + .sql Imported in db.
NOTE: NOW we need edit the file: GNUWorld.example.conf cservice.example.conf and ccontrol.example.conf
NOTE: NOW recoment to make a copy for each file.
NOTE: If you remember the las import was in /mod.openchanfix/doc so we move to new dir.
make sure you do this! STEP by STEP!
NOTE: use cd ../../bin is the same for cd .. cd .. cd bin
we just move back 2 directory and join in bin directory
[gnuworld@irc doc]$ cd ../../bin
[gnuworld@irc bin]$ pwd
/home/gnuworld/gnuworld/bin <-- We are here now!
[gnuworld@irc bin]$
NOTE: Remember to EDITE: GNUWorld.example.conf cservice.example.conf and ccontrol.example.conf
NOTE: Make a copy for edit.
[gnuworld@irc bin]$ cp GNUWorld.example.conf GNUWorld.conf
[gnuworld@irc bin]$ cp cservice.example.conf cservice.conf
[gnuworld@irc bin]$ cp ccontrol.example.conf ccontrol.conf
NOTE: If you dont edit this 3 files. GNUWorld is not goint to work or do nothing.
NOTE: Now we just run GNUWORLD.
[gnuworld@irc bin]$ ./gnuworld -f GNUWorld.conf
NOTE: If all config was good!! you going to see the X in the channel you set etc...!
For login to X type next command :
/msg [email protected] login Admin temPass
/msg [email protected] newpass PASSWORD
NOTE: if you login and all go OK! you ill see this msg from X or the name you select!
-X- AUTHENTICATION SUCCESSFULL AS Admin!
NOTE: services.undernet.org is a domain!
(if you change this in the .conf file make sure you put your own domain).